Module: Officer::Connection::LockStoreCallbacks
- Included in:
- Connection
- Defined in:
- lib/officer/connection.rb
Instance Method Summary collapse
- #acquired(name) ⇒ Object
- #already_acquired(name) ⇒ Object
- #connections(conns_hash) ⇒ Object
- #locks(locks_hash) ⇒ Object
- #my_locks(names) ⇒ Object
- #queue_maxed(name, options = {}) ⇒ Object
- #queued(name, options = {}) ⇒ Object
- #release_failed(name) ⇒ Object
- #released(name) ⇒ Object
- #reset_succeeded ⇒ Object
- #timed_out(name, options = {}) ⇒ Object
Instance Method Details
#acquired(name) ⇒ Object
35 36 37 38 39 |
# File 'lib/officer/connection.rb', line 35 def acquired name @timers.delete(name).cancel if @timers[name] send_result 'acquired', :name => name end |
#already_acquired(name) ⇒ Object
41 42 43 |
# File 'lib/officer/connection.rb', line 41 def already_acquired name send_result 'already_acquired', :name => name end |
#connections(conns_hash) ⇒ Object
77 78 79 |
# File 'lib/officer/connection.rb', line 77 def connections conns_hash send_result 'connections', :value => conns_hash end |
#locks(locks_hash) ⇒ Object
73 74 75 |
# File 'lib/officer/connection.rb', line 73 def locks locks_hash send_result 'locks', :value => locks_hash end |
#my_locks(names) ⇒ Object
85 86 87 |
# File 'lib/officer/connection.rb', line 85 def my_locks names send_result 'my_locks', :value => names end |
#queue_maxed(name, options = {}) ⇒ Object
81 82 83 |
# File 'lib/officer/connection.rb', line 81 def queue_maxed name, ={} send_result 'queue_maxed', :name => name, :queue => [:queue] end |
#queued(name, options = {}) ⇒ Object
58 59 60 61 62 63 64 65 66 |
# File 'lib/officer/connection.rb', line 58 def queued name, ={} timeout = [:timeout] return if timeout.nil? || @timers[name] @timers[name] = EM::Timer.new(timeout) do Officer::LockStore.instance.timeout name, self end end |
#release_failed(name) ⇒ Object
49 50 51 |
# File 'lib/officer/connection.rb', line 49 def release_failed name send_result 'release_failed', :name => name end |
#released(name) ⇒ Object
45 46 47 |
# File 'lib/officer/connection.rb', line 45 def released name send_result 'released', :name => name end |
#reset_succeeded ⇒ Object
53 54 55 56 |
# File 'lib/officer/connection.rb', line 53 def reset_succeeded @timers.values.each {|timer| timer.cancel} send_result 'reset_succeeded' end |
#timed_out(name, options = {}) ⇒ Object
68 69 70 71 |
# File 'lib/officer/connection.rb', line 68 def timed_out name, ={} @timers.delete name send_result 'timed_out', :name => name, :queue => [:queue] end |