mini_scheduler gem を使用して、毎週月曜日の特定の時間に実行されるジョブを作成する方法について質問があります。
Discourse のコードベースで every 1.week オプションを見つけましたが、これがいつトリガーされるのか確信が持てません。
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
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.