class SimpleWorker::RetryListener

Attributes

max_retries[R]

Public Class Methods

new(redis, max_retries, namespace, jobid) click to toggle source
# File lib/simpleworker/retry_listener.rb, line 8
def initialize(redis, max_retries, namespace, jobid)
  @redis       = redis
  @max_retries = max_retries
  @namespace   = namespace
  @jobid       = jobid
  @tracker     = {}
end

Public Instance Methods

on_task_expire(hostname, task) click to toggle source
# File lib/simpleworker/retry_listener.rb, line 16
def on_task_expire(hostname, task)
  # warning nil converted to 0
  count = @tracker[task].to_i

  if count < max_retries
    fire_retry task
    @tracker[task] = (count + 1)
  end
end

Private Instance Methods

fire_retry(task) click to toggle source
# File lib/simpleworker/retry_listener.rb, line 28
def fire_retry(task)
  @redis.rpush(tasks_key, task)
end