Class: RackRabbit::Subscriber
- Inherits:
-
Object
- Object
- RackRabbit::Subscriber
- Defined in:
- lib/rack-rabbit/subscriber.rb
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
————————————————————————–.
-
#handler ⇒ Object
readonly
————————————————————————–.
-
#lock ⇒ Object
readonly
————————————————————————–.
-
#logger ⇒ Object
readonly
————————————————————————–.
-
#rabbit ⇒ Object
readonly
————————————————————————–.
Instance Method Summary collapse
-
#initialize(rabbit, handler, lock, config) ⇒ Subscriber
constructor
————————————————————————–.
-
#subscribe ⇒ Object
————————————————————————–.
- #unsubscribe ⇒ Object
Constructor Details
#initialize(rabbit, handler, lock, config) ⇒ Subscriber
17 18 19 20 21 22 23 |
# File 'lib/rack-rabbit/subscriber.rb', line 17 def initialize(rabbit, handler, lock, config) @rabbit = rabbit @handler = handler @lock = lock @config = config @logger = config.logger end |
Instance Attribute Details
#config ⇒ Object (readonly)
9 10 11 |
# File 'lib/rack-rabbit/subscriber.rb', line 9 def config @config end |
#handler ⇒ Object (readonly)
9 10 11 |
# File 'lib/rack-rabbit/subscriber.rb', line 9 def handler @handler end |
#lock ⇒ Object (readonly)
9 10 11 |
# File 'lib/rack-rabbit/subscriber.rb', line 9 def lock @lock end |
#logger ⇒ Object (readonly)
9 10 11 |
# File 'lib/rack-rabbit/subscriber.rb', line 9 def logger @logger end |
#rabbit ⇒ Object (readonly)
9 10 11 |
# File 'lib/rack-rabbit/subscriber.rb', line 9 def rabbit @rabbit end |
Instance Method Details
#subscribe ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/rack-rabbit/subscriber.rb', line 27 def subscribe rabbit.startup rabbit.connect rabbit.subscribe(:queue => config.queue, :exchange => config.exchange, :exchange_type => config.exchange_type, :routing_key => config.routing_key, :manual_ack => config.ack) do || lock.synchronize do start = Time.now response = handle() finish = Time.now logger.info "\"#{.method} #{.path}\" [#{response.status}] - #{"%.4f" % (finish - start)}" end end end |
#unsubscribe ⇒ Object
44 45 46 47 |
# File 'lib/rack-rabbit/subscriber.rb', line 44 def unsubscribe rabbit.disconnect rabbit.shutdown end |