diff --git a/config/initializers/scheduler.rb b/config/initializers/scheduler.rb new file mode 100644 index 0000000..ec3e92a --- /dev/null +++ b/config/initializers/scheduler.rb @@ -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