Sha256: f2e851cb4ca8b865f219e3951a74fba32a3152816b9336dbb4d8a0eae906d801
Contents?: true
Size: 725 Bytes
Versions: 7
Compression:
Stored size: 725 Bytes
Contents
module Toro module Middleware module Server class Retry def call(job, worker) begin yield rescue Exception => exception if worker.toro_options[:retry_interval] interval = worker.toro_options[:retry_interval] job.reload job.properties ||= {} job.properties['retry:errors'] ||= [] job.properties['retry:errors'] << "#{exception.class.name} -- #{exception.message} -- #{Time.now}" job.status = 'scheduled' job.scheduled_at = Time.now + interval job.save end raise exception end end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems