Module: QueuedMail::Queue::AmazonSqs::ModuleMethods
- Included in:
- QueuedMail::Queue::AmazonSqs
- Defined in:
- lib/queued_mail/queue/amazon_sqs.rb
Instance Method Summary collapse
Instance Method Details
#dequeue ⇒ Object
15 16 17 |
# File 'lib/queued_mail/queue/amazon_sqs.rb', line 15 def dequeue raise "TODO" end |
#enqueue(message_id) ⇒ Object
5 6 7 8 9 10 11 12 13 |
# File 'lib/queued_mail/queue/amazon_sqs.rb', line 5 def enqueue() begin = queue.(JSON.dump('message_id' => )) Rails.logger.info "send message_id:#{sent_message.message_id} md5:#{sent_message.md5} (id:#{message_id})" rescue => e Rails.logger.error e raise e end end |
#task ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/queued_mail/queue/amazon_sqs.rb', line 19 def task if ENV['PIDFILE'] File.open(ENV['PIDFILE'], 'w'){ |f| f << Process.pid } end begin queue.poll(poll_interval: 5, batch_size: 1) do || begin Rails.logger.info "receive message_id:#{received_message.id} md5:#{received_message.md5}" args = JSON.parse(.body) QueuedMail::Job.perform(args) rescue => e .visibility_timeout = 60 raise e end end rescue SignalException # C-c rescue Exception => e Rails.logger.error "#{e.message}\n\n#{e.backtrace.join("\n")}" raise e end end |