Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wintersolutions/689588ecc2caaf36809ed6c6ffb028f3 to your computer and use it in GitHub Desktop.
Save wintersolutions/689588ecc2caaf36809ed6c6ffb028f3 to your computer and use it in GitHub Desktop.
# Resume rufus-scheduler (v3.6) jobs once after pause/resume:
def self.scheduler
Rufus::Scheduler.singleton
end
def self.resume
scheduler.resume # to change the paused? status
scheduler.jobs.each do |job|
paused_duration = EtOrbi.now - job.paused_at
resume_at = paused_duration >= job.frequency ? EtOrbi.now : EtOrbi.now + (job.frequency - paused_duration)
job.next_time = resume_at
job.resume
end
end
def self.pause
scheduler.pause # to change the paused? status
scheduler.jobs.each(&:pause) # pause each job so job.paused_at is set
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment