class TQ::Task

Attributes

task[R]

Public Class Methods

new(queue, task) click to toggle source
# File lib/tq.rb, line 191
def initialize(queue, task)
  @queue = queue
  @task = task
  @clock = Time
end

Public Instance Methods

clock!(_) click to toggle source
# File lib/tq.rb, line 221
def clock!(_)
  @clock = _; return self
end
expires() click to toggle source
# File lib/tq.rb, line 201
def expires
  DateTime.rfc3339(self.task.schedule_time).to_time
end
extend!(dur) click to toggle source
# File lib/tq.rb, line 217
def extend!(dur)
  @queue.extend!(self.task, dur)
end
finish!() click to toggle source
# File lib/tq.rb, line 213
def finish!
  @queue.finish!(self.task)
end
lease_expired?() click to toggle source
# File lib/tq.rb, line 233
def lease_expired?
  self.expires < @clock.now
end
lease_remaining() click to toggle source
# File lib/tq.rb, line 229
def lease_remaining
  self.expires - @clock.now
end
name() click to toggle source
# File lib/tq.rb, line 197
def name
  self.task.name
end
payload() click to toggle source
# File lib/tq.rb, line 209
def payload
  decode self.task.pull_message.payload
end
reset_clock!() click to toggle source
# File lib/tq.rb, line 225
def reset_clock!
  @clock = Time; return self
end
tag() click to toggle source
# File lib/tq.rb, line 205
def tag
  self.task.tag
end

Private Instance Methods

decode(str) click to toggle source
# File lib/tq.rb, line 239
def decode(str)
  JSON.load(str)
end