Skip to Content Skip to Search
Methods
P

Attributes

[R] content_email_record
[R] member
[R] member_id
[R] site
[R] site_id

Instance Public methods

perform(site_id, content_email_id, expiration_at)

# File engines/member/app/jobs/member/available_content_email_job.rb, line 7
def perform(site_id, content_email_id, expiration_at)
  @content_email_record = DB::AvailableContentEmail.find(content_email_id)
  @member_id = @content_email_record.member_id
  @member = @content_email_record.member
  @site_id = site_id
  @site = DB::Site.find(site_id)

  stop_status = catch(:stop_job) {
    throw(:stop_job, :job_expired) if Time.zone.now.to_i > expiration_at

    perform_job
  }

  if stop_status.present? && stop_status != :sent
    content_email_record.update!(
      status: stop_status
    )
  end
end