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

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

Methods inherited from Task

#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.



69
70
71
72
# File 'lib/perfectqueue/task.rb', line 69

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

Instance Method Details

#finish!(options = {}) ⇒ Object



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

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

#heartbeat!(options = {}) ⇒ Object



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

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

#release!(options = {}) ⇒ Object



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

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

#retry!(options = {}) ⇒ Object



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

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

#update_data!(hash) ⇒ Object



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

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