Class: TQ::Task

Inherits:
Object
  • Object
show all
Defined in:
lib/tq.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(queue, task) ⇒ Task

Returns a new instance of Task.



197
198
199
200
201
# File 'lib/tq.rb', line 197

def initialize(queue, task)
  @queue = queue
  @task = task
  @clock = Time
end

Instance Attribute Details

#taskObject (readonly)

Returns the value of attribute task.



196
197
198
# File 'lib/tq.rb', line 196

def task
  @task
end

Instance Method Details

#clock!(_) ⇒ Object



227
228
229
# File 'lib/tq.rb', line 227

def clock!(_)
  @clock = _; return self
end

#expiresObject



207
208
209
# File 'lib/tq.rb', line 207

def expires
  DateTime.rfc3339(self.task.schedule_time).to_time
end

#extend!(dur) ⇒ Object



223
224
225
# File 'lib/tq.rb', line 223

def extend!(dur)
  @queue.extend!(self.task, dur)
end

#finish!Object



219
220
221
# File 'lib/tq.rb', line 219

def finish!
  @queue.finish!(self.task)
end

#lease_expired?Boolean

Returns:

  • (Boolean)


239
240
241
# File 'lib/tq.rb', line 239

def lease_expired?
  self.expires < @clock.now
end

#lease_remainingObject



235
236
237
# File 'lib/tq.rb', line 235

def lease_remaining
  self.expires - @clock.now
end

#nameObject



203
204
205
# File 'lib/tq.rb', line 203

def name
  self.task.name
end

#payloadObject



215
216
217
# File 'lib/tq.rb', line 215

def payload
  decode self.task.pull_message.payload
end

#reset_clock!Object



231
232
233
# File 'lib/tq.rb', line 231

def reset_clock!
  @clock = Time; return self
end

#tagObject



211
212
213
# File 'lib/tq.rb', line 211

def tag
  self.task.tag
end