Schedule jobs

* Stalled jobs are checked every 5 minutes
* Failed jobs are retried every hour
* Old preview jobs are cleaned up daily
This commit is contained in:
Justin Edmund 2025-01-18 08:54:43 -08:00
parent 0257469582
commit dc55e7cdee

View file

@ -0,0 +1,18 @@
require 'rufus-scheduler'
# Don't schedule jobs in test environment or when running rake tasks
unless defined?(Rails::Console) || Rails.env.test? || File.split($0).last == 'rake'
scheduler = Rufus::Scheduler.new
scheduler.every '5m' do
PreviewGenerationMonitor.check_stalled_jobs
end
scheduler.every '1h' do
PreviewGenerationMonitor.retry_failed
end
scheduler.every '1d' do
PreviewGenerationMonitor.cleanup_old_previews
end
end