Class: PerfectQueue::Client
- Inherits:
-
Object
- Object
- PerfectQueue::Client
- Defined in:
- lib/perfectqueue/client.rb
Instance Attribute Summary collapse
-
#backend ⇒ Object
readonly
Returns the value of attribute backend.
-
#config ⇒ Object
readonly
Returns the value of attribute config.
Instance Method Summary collapse
-
#acquire(options = {}) ⇒ Object
:max_acquire => nil :alive_time => nil.
-
#cancel_request(key, options = {}) ⇒ Object
:message => nil.
- #close ⇒ Object
-
#finish(task_token, options = {}) ⇒ Object
:message => nil :retention_time => default_retention_time.
- #force_finish(key, options = {}) ⇒ Object
- #get_task_metadata(key, options = {}) ⇒ Object
-
#heartbeat(task_token, options = {}) ⇒ Object
:message => nil :alive_time => nil.
- #init_database(options = {}) ⇒ Object
-
#initialize(config) ⇒ Client
constructor
A new instance of Client.
- #list(options = {}, &block) ⇒ Object
-
#preempt(key, options = {}) ⇒ Object
:message => nil :alive_time => @alive_time.
- #release(task_token, options = {}) ⇒ Object
- #retry(task_token, options = {}) ⇒ Object
-
#submit(key, type, data, options = {}) ⇒ Object
:run_at => Time.now :message => nil :user => nil :priority => nil.
Constructor Details
#initialize(config) ⇒ Client
Returns a new instance of Client.
21 22 23 24 25 26 27 28 29 30 |
# File 'lib/perfectqueue/client.rb', line 21 def initialize(config) @config = {} config.each_pair {|k,v| @config[k.to_sym] = v } @backend = Backend.new_backend(self, @config) @retention_time = @config[:retention_time] || 300 @alive_time = @config[:alive_time] || 300 @retry_wait = @config[:retry_wait] || 300 # TODO retry wait algorithm end |
Instance Attribute Details
#backend ⇒ Object (readonly)
Returns the value of attribute backend.
32 33 34 |
# File 'lib/perfectqueue/client.rb', line 32 def backend @backend end |
#config ⇒ Object (readonly)
Returns the value of attribute config.
33 34 35 |
# File 'lib/perfectqueue/client.rb', line 33 def config @config end |
Instance Method Details
#acquire(options = {}) ⇒ Object
:max_acquire => nil :alive_time => nil
65 66 67 68 69 70 |
# File 'lib/perfectqueue/client.rb', line 65 def acquire(={}) alive_time = [:alive_time] || @alive_time max_acquire = [:max_acquire] || 1 @backend.acquire(alive_time, max_acquire, ) end |
#cancel_request(key, options = {}) ⇒ Object
:message => nil
73 74 75 |
# File 'lib/perfectqueue/client.rb', line 73 def cancel_request(key, ={}) @backend.cancel_request(key, ) end |
#close ⇒ Object
111 112 113 |
# File 'lib/perfectqueue/client.rb', line 111 def close @backend.close end |
#finish(task_token, options = {}) ⇒ Object
:message => nil :retention_time => default_retention_time
85 86 87 88 89 |
# File 'lib/perfectqueue/client.rb', line 85 def finish(task_token, ={}) retention_time = [:retention_time] || @retention_time @backend.finish(task_token, retention_time, ) end |
#force_finish(key, options = {}) ⇒ Object
77 78 79 80 81 |
# File 'lib/perfectqueue/client.rb', line 77 def force_finish(key, ={}) retention_time = [:retention_time] || @retention_time @backend.force_finish(key, retention_time, ) end |
#get_task_metadata(key, options = {}) ⇒ Object
39 40 41 |
# File 'lib/perfectqueue/client.rb', line 39 def (key, ={}) @backend.(key, ) end |
#heartbeat(task_token, options = {}) ⇒ Object
:message => nil :alive_time => nil
93 94 95 96 97 |
# File 'lib/perfectqueue/client.rb', line 93 def heartbeat(task_token, ={}) alive_time = [:alive_time] || @alive_time @backend.heartbeat(task_token, alive_time, ) end |
#init_database(options = {}) ⇒ Object
35 36 37 |
# File 'lib/perfectqueue/client.rb', line 35 def init_database(={}) @backend.init_database() end |
#list(options = {}, &block) ⇒ Object
51 52 53 |
# File 'lib/perfectqueue/client.rb', line 51 def list(={}, &block) @backend.list(, &block) end |
#preempt(key, options = {}) ⇒ Object
:message => nil :alive_time => @alive_time
45 46 47 48 49 |
# File 'lib/perfectqueue/client.rb', line 45 def preempt(key, ={}) alive_time = [:alive_time] || @alive_time @backend.preempt(key, alive_time, ) end |
#release(task_token, options = {}) ⇒ Object
99 100 101 102 103 |
# File 'lib/perfectqueue/client.rb', line 99 def release(task_token, ={}) alive_time = [:alive_time] || 0 @backend.release(task_token, alive_time, ) end |
#retry(task_token, options = {}) ⇒ Object
105 106 107 108 109 |
# File 'lib/perfectqueue/client.rb', line 105 def retry(task_token, ={}) alive_time = [:retry_wait] || @retry_wait @backend.release(task_token, alive_time, ) end |
#submit(key, type, data, options = {}) ⇒ Object
:run_at => Time.now :message => nil :user => nil :priority => nil
59 60 61 |
# File 'lib/perfectqueue/client.rb', line 59 def submit(key, type, data, ={}) @backend.submit(key, type, data, ) end |