Class: Barbeque::Runner
- Inherits:
-
Object
- Object
- Barbeque::Runner
- Defined in:
- lib/barbeque/runner.rb
Overview
Part of barbeque-worker. Runner dequeues a message from MessageQueue (Amazon SQS) and dispatches it to message handler.
Constant Summary collapse
- DEFAULT_QUEUE =
'default'
Instance Method Summary collapse
-
#initialize(queue_name: ENV['BARBEQUE_QUEUE'] || DEFAULT_QUEUE) ⇒ Runner
constructor
A new instance of Runner.
- #run ⇒ Object
- #stop ⇒ Object
Constructor Details
#initialize(queue_name: ENV['BARBEQUE_QUEUE'] || DEFAULT_QUEUE) ⇒ Runner
Returns a new instance of Runner.
15 16 17 |
# File 'lib/barbeque/runner.rb', line 15 def initialize(queue_name: ENV['BARBEQUE_QUEUE'] || DEFAULT_QUEUE) @queue_name = queue_name end |
Instance Method Details
#run ⇒ Object
19 20 21 22 23 24 25 26 27 28 |
# File 'lib/barbeque/runner.rb', line 19 def run keep_maximum_concurrent_executions = .dequeue return unless Barbeque::ExceptionHandler.(.id, .type) handler = MessageHandler.const_get(.type, false) handler.new(message: , message_queue: ).run end |
#stop ⇒ Object
30 31 32 |
# File 'lib/barbeque/runner.rb', line 30 def stop .stop! end |