Class: DispatchRider::Subscriber
- Inherits:
-
Object
- Object
- DispatchRider::Subscriber
- Defined in:
- lib/dispatch-rider/subscriber.rb
Instance Attribute Summary collapse
-
#demultiplexer ⇒ Object
readonly
Returns the value of attribute demultiplexer.
-
#dispatcher ⇒ Object
readonly
Returns the value of attribute dispatcher.
-
#queue_service_registrar ⇒ Object
readonly
Returns the value of attribute queue_service_registrar.
Instance Method Summary collapse
-
#initialize ⇒ Subscriber
constructor
A new instance of Subscriber.
- #process ⇒ Object
- #register_handler(name) ⇒ Object
- #register_handlers(*names) ⇒ Object
- #register_queue(name, options = {}) ⇒ Object
- #setup_demultiplexer(queue_name, error_handler = DispatchRider::DefaultErrorHandler) ⇒ Object
Constructor Details
#initialize ⇒ Subscriber
8 9 10 11 |
# File 'lib/dispatch-rider/subscriber.rb', line 8 def initialize @queue_service_registrar = DispatchRider::Registrars::QueueService.new @dispatcher = DispatchRider::Dispatcher.new end |
Instance Attribute Details
#demultiplexer ⇒ Object (readonly)
Returns the value of attribute demultiplexer.
6 7 8 |
# File 'lib/dispatch-rider/subscriber.rb', line 6 def demultiplexer @demultiplexer end |
#dispatcher ⇒ Object (readonly)
Returns the value of attribute dispatcher.
6 7 8 |
# File 'lib/dispatch-rider/subscriber.rb', line 6 def dispatcher @dispatcher end |
#queue_service_registrar ⇒ Object (readonly)
Returns the value of attribute queue_service_registrar.
6 7 8 |
# File 'lib/dispatch-rider/subscriber.rb', line 6 def queue_service_registrar @queue_service_registrar end |
Instance Method Details
#process ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/dispatch-rider/subscriber.rb', line 34 def process register_quit_trap register_term_trap register_int_trap demultiplexer.start end |
#register_handler(name) ⇒ Object
18 19 20 21 |
# File 'lib/dispatch-rider/subscriber.rb', line 18 def register_handler(name) dispatcher.register(name) self end |
#register_handlers(*names) ⇒ Object
23 24 25 26 |
# File 'lib/dispatch-rider/subscriber.rb', line 23 def register_handlers(*names) names.each {|name| register_handler(name)} self end |
#register_queue(name, options = {}) ⇒ Object
13 14 15 16 |
# File 'lib/dispatch-rider/subscriber.rb', line 13 def register_queue(name, = {}) queue_service_registrar.register(name, ) self end |
#setup_demultiplexer(queue_name, error_handler = DispatchRider::DefaultErrorHandler) ⇒ Object
28 29 30 31 32 |
# File 'lib/dispatch-rider/subscriber.rb', line 28 def setup_demultiplexer(queue_name, error_handler = DispatchRider::DefaultErrorHandler) queue = queue_service_registrar.fetch(queue_name) @demultiplexer ||= DispatchRider::Demultiplexer.new(queue, dispatcher, error_handler) self end |