Class: QueuedMail::Job
- Inherits:
-
Object
- Object
- QueuedMail::Job
- Defined in:
- lib/queued_mail/job.rb
Class Method Summary collapse
Class Method Details
.mailer ⇒ Object
28 29 30 |
# File 'lib/queued_mail/job.rb', line 28 def self.mailer @mailer ||= instance_eval(Rails.application.config.mail_queue_outbound_mailer) end |
.perform(args) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/queued_mail/job.rb', line 5 def self.perform(args) retried = 0 begin = QueuedMail::Message.find(args["message_id"].to_i) rescue ActiveRecord::RecordNotFound => e if retried < retry_limit retried += 1 sleep retry_interval retry else raise e end end .with_lock do mailer.original_email().deliver .destroy end rescue ActiveRecord::RecordNotFound => e Rails.logger.error e. # nothing raises end |
.retry_interval ⇒ Object
36 37 38 |
# File 'lib/queued_mail/job.rb', line 36 def self.retry_interval Rails.application.config.mail_queue_retry_interval end |
.retry_limit ⇒ Object
32 33 34 |
# File 'lib/queued_mail/job.rb', line 32 def self.retry_limit Rails.application.config.mail_queue_retry_limit end |