diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb index 30e4cbc..68904c6 100644 --- a/config/initializers/sidekiq.rb +++ b/config/initializers/sidekiq.rb @@ -5,8 +5,13 @@ Sidekiq.configure_server do |config| config.redis = { url: ENV.fetch("REDIS_URL", "redis://localhost:6379/1") } config.logger.level = Logger::INFO config.on(:startup) do - Sidekiq.schedule = YAML.load_file(File.expand_path("../../sidekiq.yml", __FILE__)) - Sidekiq::Scheduler.reload_schedule! + schedule_file = "config/sidekiq.yml" + if File.exist?(schedule_file) + Sidekiq::Scheduler.enabled = true + Sidekiq::Scheduler.dynamic = true + Sidekiq.schedule = YAML.load_file(schedule_file) + Sidekiq::Scheduler.reload_schedule! + end end end diff --git a/config/sidekiq.yml b/config/sidekiq.yml index 28cd144..808d2f1 100644 --- a/config/sidekiq.yml +++ b/config/sidekiq.yml @@ -1,10 +1,14 @@ -:schedule: - sample_job: - cron: '0 * * * *' # 每小时执行 - class: BatchGenerateWeatherArtsWorker :concurrency: 5 :queues: + - prod - default - mailers - - low \ No newline at end of file + - low + +:scheduler: + :schedule: + batch_generate_weather: + cron: '0 */2 * * *' # every 每2 hours + queue: prod + class: BatchGenerateWeatherArtsWorker