Sha256: ea580f501deb740c34fbe129f7dff338f051a92d3258e4b26661750119d54e52

Contents?: true

Size: 867 Bytes

Versions: 1

Compression:

Stored size: 867 Bytes

Contents

# This worker handles Envelopes dispatch
class MailCannon::Barrel
  include Sidekiq::Worker

  def perform(envelope_id)
    envelope_id = envelope_id['$oid'] if envelope_id['$oid']
    shoot!(envelope_id)
  end

  private
  def shoot!(envelope_id)
    logger.info "sending MailCannon::Envelope.find('#{envelope_id}')"
    begin
      envelope = MailCannon::Envelope.find(envelope_id.to_s)
      if envelope.valid?
        response = envelope.send!
        unless response==true
          raise response
        end
      end
    rescue Mongoid::Errors::DocumentNotFound
      logger.error "unable to find the document MailCannon::Envelope.find('#{envelope_id}')"
      raise Mongoid::Errors::DocumentNotFound
    rescue Exception => e
      logger.error "unable to send MailCannon::Envelope.find('#{envelope_id}') #{e} #{e.backtrace}"
      raise e
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mailcannon-0.1.1 lib/mailcannon/workers/barrel.rb