Class: MailingCompletionWorker

Inherits:
Object
  • Object
show all
Includes:
Sidekiq::Job, Workers::StatusBroadcastable
Defined in:
app/workers/mailing_completion_worker.rb

Instance Attribute Summary

Attributes included from Workers::StatusBroadcastable

#broadcast_status_updates

Instance Method Summary collapse

Methods included from Workers::StatusBroadcastable::Overrides

#at, #store, #total

Instance Method Details

#perform(options = {}) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'app/workers/mailing_completion_worker.rb', line 7

def perform(options={})
  options = options.with_indifferent_access
  mailing = Mailing.find(options['mailing_id'])
  result_type_id = ActivityResultType.find_by(result_code: 'CMP').id
  total mailing.mail_activities.count
  num = 0
  mailing.mail_activities.each do |ma|
    at(num, "At mailing #{num}")
    ma.activity.update(completion_datetime: Time.current, activity_result_type_id: result_type_id,
                       closed_by_id: options['current_user_id'])
    num += 1
  end
  mailing.complete_mailing!

  store redirect_to: options['redirect_to']

end