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_queue, #logger, #queue
Instance Method Summary
collapse
Methods inherited from Base
#channel, #initialize, #on_error
Instance Method Details
#ack ⇒ Object
26
27
|
# File 'lib/superbolt/runner/default.rb', line 26
def ack
end
|
#prefetch ⇒ Object
29
30
|
# File 'lib/superbolt/runner/default.rb', line 29
def prefetch
end
|
#processor_class ⇒ Object
32
33
34
|
# File 'lib/superbolt/runner/default.rb', line 32
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
|
# File 'lib/superbolt/runner/default.rb', line 13
def subscribe
queue.subscribe(ack: ack) do |delivery_info, metadata, payload|
message = Superbolt::IncomingMessage.new(delivery_info, payload, channel)
processor = processor_class.new(message, logger, &block)
unless processor.perform
on_error(message.parse, processor.exception)
end
message.ack if ack
end
end
|