【问题标题】:Rails cron job between midnight and 1am ET东部时间午夜到凌晨 1 点之间的 Rails cron 作业
【发布时间】:2022-01-14 09:29:12
【问题描述】:
我正在使用sidekiq-ent gem 来安排 cron 作业。我想使用计划一个将在美国东部时间午夜到凌晨 1 点之间运行的任务。我应该使用什么 cron 语法?
config.periodic do |mgr|
# every day between midnight and 1 ET
mgr.register("0 0-1 * * *", ExampleWorker)
end
不知道如何测试,但0 0-1 * * * 是否正确?
【问题讨论】:
标签:
ruby-on-rails
ruby
cron
【解决方案1】:
基于此文档https://github.com/mperham/sidekiq/wiki/Ent-Periodic-Jobs
有两种方法
- 您可以设置全球时区
Sidekiq.configure_server do |config|
config.periodic do |mgr|
# "global" custom timezome, will affect any further registered jobs
mgr.tz = ActiveSupport::TimeZone.new("Kathmandu")
mgr.register("* 4 * * *", "KathmanduWorker") # 4AM in Kathmandu
mgr.register("* 5 * * *", "KathmanduWorker") # 5AM in Kathmandu
- 每个作业的自定义时区
Sidekiq.configure_server do |config|
config.periodic do |mgr|
mgr.register("* 4 * * *", "TokyoWorker", tz: ActiveSupport::TimeZone.new("Tokyo"))