Class: PerfectQueue::AcquiredTask

Inherits:
TaskWithMetadata show all
Defined in:
lib/perfectqueue/task.rb

Instance Attribute Summary

Attributes included from TaskMetadataAccessors

#attributes, #compression

Attributes inherited from Task

#key

Attributes included from Model

#client

Instance Method Summary collapse

Methods inherited from TaskWithMetadata

#inspect

Methods included from TaskMetadataAccessors

#cancel_requested?, #created_at, #data, #finished?, #message, #running?, #status, #timeout, #type, #user, #waiting?

Methods inherited from Task

#cancel_request!, #exists?, #force_finish!, #inspect, #metadata, #preempt

Methods included from Model

#config

Constructor Details

#initialize(client, key, attributes, task_token) ⇒ AcquiredTask

Returns a new instance of AcquiredTask.



73
74
75
76
# File 'lib/perfectqueue/task.rb', line 73

def initialize(client, key, attributes, task_token)
  super(client, key, attributes)
  @task_token = task_token
end

Instance Method Details

#finish!(options = {}) ⇒ Object



82
83
84
# File 'lib/perfectqueue/task.rb', line 82

def finish!(options={})
  @client.finish(@task_token, options)
end

#heartbeat!(options = {}) ⇒ Object



78
79
80
# File 'lib/perfectqueue/task.rb', line 78

def heartbeat!(options={})
  @client.heartbeat(@task_token, options)
end

#release!(options = {}) ⇒ Object



86
87
88
# File 'lib/perfectqueue/task.rb', line 86

def release!(options={})
  @client.release(@task_token, options)
end

#retry!(options = {}) ⇒ Object



90
91
92
# File 'lib/perfectqueue/task.rb', line 90

def retry!(options={})
  @client.retry(@task_token, options)
end

#update_data!(hash) ⇒ Object



94
95
96
97
98
99
# File 'lib/perfectqueue/task.rb', line 94

def update_data!(hash)
  data = @attributes[:data] || {}
  merged = data.merge(hash)
  heartbeat!(data: merged, compression: compression)
  @attributes[:data] = merged
end