class Workerholic::JobRetry
Constants
- MAX_RETRY_ATTEMPTS
Attributes
job[R]
sorted_set[R]
stats_storage[R]
Public Class Methods
new(options={})
click to toggle source
# File lib/workerholic/job_retry.rb, line 7 def initialize(options={}) @job = options[:job] @sorted_set = options[:sorted_set] || SortedSet.new('workerholic:scheduled_jobs') end
Public Instance Methods
retry()
click to toggle source
# File lib/workerholic/job_retry.rb, line 12 def retry return if job.retry_count >= MAX_RETRY_ATTEMPTS increment_retry_count schedule_job_for_retry Workerholic.manager .scheduler .schedule(JobSerializer.serialize(job), job.execute_at) end
Private Instance Methods
increment_retry_count()
click to toggle source
# File lib/workerholic/job_retry.rb, line 24 def increment_retry_count job.retry_count += 1 end
schedule_job_for_retry()
click to toggle source
# File lib/workerholic/job_retry.rb, line 28 def schedule_job_for_retry job.execute_at = Time.now.to_f + 10 * job.retry_count end