Class: Citrus::Components::PushScheduler
- Defined in:
- lib/citrus/components/push_scheduler.rb
Overview
PushScheduler
Instance Method Summary collapse
-
#after_start(&block) ⇒ Object
Component lifecycle callback.
-
#initialize(app, args = {}) ⇒ PushScheduler
constructor
Initialize the component.
-
#schedule(req_id, route, msg, recvs, args, &block) ⇒ Object
Schedule how the message to send.
-
#stop(&block) ⇒ Object
Component lifecycle callback.
Constructor Details
#initialize(app, args = {}) ⇒ PushScheduler
Initialize the component
23 24 25 26 |
# File 'lib/citrus/components/push_scheduler.rb', line 23 def initialize app, args={} @app = app @scheduler = get_scheduler app, args end |
Instance Method Details
#after_start(&block) ⇒ Object
Component lifecycle callback
29 30 31 32 33 34 35 |
# File 'lib/citrus/components/push_scheduler.rb', line 29 def after_start &block if @scheduler.respond_to? :start @scheduler.start &block else EM.next_tick { block.call } if block_given? end end |
#schedule(req_id, route, msg, recvs, args, &block) ⇒ Object
Schedule how the message to send
53 54 55 56 57 58 |
# File 'lib/citrus/components/push_scheduler.rb', line 53 def schedule req_id, route, msg, recvs, args, &block if @scheculer.respond_to? :schedule @scheduler.schedule req_id, route, msg, recvs, args, &block else end end |
#stop(&block) ⇒ Object
Component lifecycle callback
38 39 40 41 42 43 44 |
# File 'lib/citrus/components/push_scheduler.rb', line 38 def stop &block if @scheduler.respond_to? :stop @scheduler.stop &block else EM.next_tick { block.call } if block_given? end end |