class Rufus::EveryJob
An ‘every’ job is simply an extension of an ‘at’ job.
def do_trigger
triggers the job, then reschedules it if necessary
def do_trigger hit_exception = false begin @block.call @job_id, @at, @params rescue Exception => e @scheduler.send(:log_exception, e) hit_exception = true end if \ @scheduler.instance_variable_get(:@exit_when_no_more_jobs) or (@params[:dont_reschedule] == true) or (hit_exception and @params[:try_again] == false) @scheduler.instance_variable_get(:@non_cron_jobs).delete(job_id) # maybe it'd be better to wipe that reference from here anyway... return end # # ok, reschedule ... params[:job] = self @at = @at + Rufus.duration_to_f(params[:every]) @scheduler.send(:do_schedule_at, @at, params) end
def schedule_info
like for example "3d" or "1M10d3h".
Returns the frequency string used to schedule this EveryJob,
def schedule_info @params[:every] end