class MailManager::MessageJob

Public Class Methods

get_ready() click to toggle source
# File lib/workers/mail_manager/message_job.rb, line 28
def self.get_ready
  MailManager::Lock.with_lock('mail_manager_message_ready') do |lock|
    Rails.logger.warn "Finding ready messages"
    message = Message.ready.first
    return nil if message.nil?
    message.change_status('processing')
    return message
  end
end
run() click to toggle source
# File lib/workers/mail_manager/message_job.rb, line 14
def self.run
  while(message=get_ready) do
    Rails.logger.warn "Sending Message for '#{message.mailing.subject}' to #{message.email_address}"
        begin
      message.deliver
          message.change_status(:sent)
        rescue => e
          message.result = "Error: #{e.message} - #{e.backtrace.join("\n")}"
          message.change_status(:failed)
        end
    sleep MailManager.sleep_time_between_messages
  end
end

Public Instance Methods

perform() click to toggle source
# File lib/workers/mail_manager/message_job.rb, line 11
def perform
  MessageJob.run
end