Closed dorianmariecom closed 2 years ago
actually I can do this by setting the next time the job will be executed from within the job, nevermind
👋 Hi @dorianmariefr -- catching up on notifications after the new year (happy 2022!) and saw this.
While delayed
doesn't yet have a built-in answer for scheduled jobs, I wanted to point you to Betterment's fork of the clockwork gem: https://github.com/Betterment/clockwork
The changes in our fork are not fully reflected in the README, so I'll give you a quick overview:
As part of the DST fixes, the ability to run things every(n.minutes)
for an arbitrary "n" (or without an :at
option), has been removed, since these held the last-run state in memory and would reset on every deploy. Instead, tasks must be run at specific times daily or at an exact 1.minute
interval:
every(1.minute)
, will run every tickevery(1.day, at: specified_times)
will run at specified times of dayevery(1.day, at: %w(4:00 10:00 16:00 22:00))
will run every 6 hourshi @smudge, thanks, happy new year too, I ended up migrating to sidekiq and sidekiq-cron
I'm thinking of porting https://github.com/codez/delayed_cron_job to delayed, should I make a separate gem or is there any change a PR would be merged?