Class: Superbolt::Runner::Default
- Inherits:
-
Base
- Object
- Base
- Superbolt::Runner::Default
show all
- Defined in:
- lib/superbolt/runner/default.rb
Instance Attribute Summary
Attributes inherited from Base
#block, #error_notifier, #logger, #queue
Instance Method Summary
collapse
Methods inherited from Base
#channel, #initialize, #on_error
Instance Method Details
#ack ⇒ Object
27
28
|
# File 'lib/superbolt/runner/default.rb', line 27
def ack
end
|
#prefetch ⇒ Object
30
31
|
# File 'lib/superbolt/runner/default.rb', line 30
def prefetch
end
|
#processor_class ⇒ Object
33
34
35
|
# File 'lib/superbolt/runner/default.rb', line 33
def processor_class
Superbolt::Processor
end
|
#run ⇒ Object
4
5
6
7
|
# File 'lib/superbolt/runner/default.rb', line 4
def run
set_prefetch
subscribe
end
|
#set_prefetch ⇒ Object
9
10
11
|
# File 'lib/superbolt/runner/default.rb', line 9
def set_prefetch
channel.prefetch(prefetch) if prefetch
end
|
#subscribe ⇒ Object
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/superbolt/runner/default.rb', line 13
def subscribe
queue.subscribe(ack: ack, block: true) do |delivery_info, metadata, payload|
message = Superbolt::IncomingMessage.new(delivery_info, payload, channel)
processor = processor_class.new(message, logger, &block)
success = processor.perform
unless success
on_error(message.parse, processor.exception)
end
message.ack if ack
end
end
|