Mini_scheduler 每周一凌晨 4 点 UTC 执行 Job

我想知道如何使用 mini_scheduler gem 创建一个将在特定时间每週一运行的 Job。

我在 Discourse 代码库中找到了 every 1.week 选项,但不确定它何时会被触发。

据我所知,mini scheduler 中没有选项可以指定作业运行的日期,但我们确实有一个选项可以在特定时间每天运行作业。因此,我们可以像这样配置我们的作业 daily at: 4.hours,然后在 execute 方法中,我们只在星期一时执行我们的逻辑。

module Jobs
  class YourCustomJob < ::Jobs::Scheduled
    daily at: 4.hours

    def execute(args)
      return if !Time.zone.now.monday?

      # 此时必须是星期一
    end
  end
end
4 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.