Sha256: 9b7cec020daf9d75c30758c2b98d3233bbd04fc45d9ef8f0962278a64315973c

Contents?: true

Size: 706 Bytes

Versions: 13

Compression:

Stored size: 706 Bytes

Contents

=begin rdoc
Author::    Chris Hauboldt (mailto:biz@lnstar.com)
Copyright:: 2009 Lone Star Internet Inc.

Worker used to check for ready Mailings and process/send them.

=end

module MailManager
  class MailingJob < Struct.new(:repeats_every)
    def perform
      MailingJob.run
    end
    def self.run
      while(mailing=get_ready) do
        mailing.deliver
      end
      Rails.logger.info "No ready mailings #{Time.now}"
    end

    def self.get_ready
      MailManager::Lock.with_lock('mail_manager_mailing_job_ready') do |lock|
        mailing = Mailing.ready.first
        return nil if mailing.nil?
        mailing.change_status('processing')
        return mailing
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
mail_manager-3.2.25.1 lib/workers/mail_manager/mailing_job.rb
mail_manager-3.2.22.0 lib/workers/mail_manager/mailing_job.rb
mail_manager-3.2.7 lib/workers/mail_manager/mailing_job.rb
mail_manager-3.2.6 lib/workers/mail_manager/mailing_job.rb
mail_manager-3.2.5 lib/workers/mail_manager/mailing_job.rb
mail_manager-3.2.4 lib/workers/mail_manager/mailing_job.rb
mail_manager-3.2.2 lib/workers/mail_manager/mailing_job.rb
mail_manager-3.2.1 lib/workers/mail_manager/mailing_job.rb
mail_manager-3.2.0 lib/workers/mail_manager/mailing_job.rb
mail_manager-3.0.0 lib/workers/mail_manager/mailing_job.rb
mail_manager-0.1.4 lib/workers/mail_manager/mailing_job.rb
mail_manager-0.1.2 lib/workers/mail_manager/mailing_job.rb
mail_manager-0.1.1 lib/workers/mail_manager/mailing_job.rb