Mini_scheduler は毎週月曜日の午前4時UTCにジョブを実行します

mini_scheduler gem を使用して、毎週月曜日の特定の時間に実行されるジョブを作成する方法について質問があります。

Discourse のコードベースで every 1.week オプションを見つけましたが、これがいつトリガーされるのか確信が持てません。

AFAIK、ミニスケジューラにはジョブを実行する曜日を指定するオプションはありませんが、特定の時間に毎日ジョブを実行するオプションはあります。そのため、ジョブを 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.