class Writefully::Tools::Retryer
Attributes
job[RW]
Public Instance Methods
delay()
click to toggle source
# File lib/writefully/tools/retryer.rb, line 21 def delay (job[:message][:tries] * job[:message][:tries]).seconds end
mark_as_failed()
click to toggle source
# File lib/writefully/tools/retryer.rb, line 25 def mark_as_failed Writefully.redis.with { |c| c.sadd 'failed', Marshal.dump(job) } end
queue_retry()
click to toggle source
# File lib/writefully/tools/retryer.rb, line 17 def queue_retry Writefully.add_job job[:worker], job[:message].merge({ run: true }) end
retry(job)
click to toggle source
# File lib/writefully/tools/retryer.rb, line 8 def retry(job) @job = job if job[:message][:tries] <= 5 after(delay) { queue_retry } else mark_as_failed end end