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.



191
192
193
194
195
# File 'lib/tq.rb', line 191

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

Instance Attribute Details

#taskObject (readonly)

Returns the value of attribute task.



190
191
192
# File 'lib/tq.rb', line 190

def task
  @task
end

Instance Method Details

#clock!(_) ⇒ Object



221
222
223
# File 'lib/tq.rb', line 221

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

#expiresObject



201
202
203
# File 'lib/tq.rb', line 201

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

#extend!(dur) ⇒ Object



217
218
219
# File 'lib/tq.rb', line 217

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

#finish!Object



213
214
215
# File 'lib/tq.rb', line 213

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

#lease_expired?Boolean

Returns:

  • (Boolean)


233
234
235
# File 'lib/tq.rb', line 233

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

#lease_remainingObject



229
230
231
# File 'lib/tq.rb', line 229

def lease_remaining
  self.expires - @clock.now
end

#nameObject



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

def name
  self.task.name
end

#payloadObject



209
210
211
# File 'lib/tq.rb', line 209

def payload
  decode self.task.pull_message.payload
end

#reset_clock!Object



225
226
227
# File 'lib/tq.rb', line 225

def reset_clock!
  @clock = Time; return self
end

#tagObject



205
206
207
# File 'lib/tq.rb', line 205

def tag
  self.task.tag
end