2

我正在使用 sidekiq gem 处理后台作业和 sidekiq-cron 作业以在给定时间段安排作业。

#config/schedule.yml

my_first_job:
  cron: "*/5 * * * *"
  class: "HardWorker"
  queue: hard_worker

我想将日期(动态)作为参数传递给 schedule.yml 中的工作人员。

正在加载config/schedule.yml

#initializers/sidekiq.rb
schedule_file = "config/schedule.yml"

if File.exist?(schedule_file) && Sidekiq.server?
  Sidekiq::Cron::Job.load_from_hash YAML.load_file(schedule_file)
end

job = Sidekiq::Cron::Job.find("my_first_job")
job.args = [Date.yesterday, Date.today]

当我找到时Sidekiq::Cron::Job.find("my_first_job"),我看到工作已使用日期参数进行了更新。http://localhost:3000/sidekiq/cron但是我在重启 Sidekiq 后看不到日期。

加载后如何更新 Sidekiq cron 作业中的参数?Sidekiq::Cron::Job.load_from_hash YAML.load_file(schedule_file)

4

0 回答 0