Module: Officer::Connection::LockStoreCallbacks

Included in:
Connection
Defined in:
lib/officer/connection.rb

Instance Method Summary collapse

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, options={}
  send_result 'queue_maxed', :name => name, :queue => options[: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, options={}
  timeout = options[: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_succeededObject



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, options={}
  @timers.delete name
  send_result 'timed_out', :name => name, :queue => options[:queue]
end