ruby-on-rails 如何在rails中安排每个月底的作业

yqlxgs2m  于 2022-12-15  发布在  Ruby
关注(0)|答案(1)|浏览(109)

我正在使用whenever gem来调度作业,但是我不知道如何在每个月底调度作业。下面是我想在每个月底运行的。
schedule.rb

every 1.month, at: 'end of the month at 5am' do
  rake 'update_user', environment: ENV['RAILS_ENV']
end

请帮我解决这个问题

hyrbngr7

hyrbngr71#

在cron作业中,每月的最后一天比较棘手,但您可以使用原始cron语法指定每月的开始,以运行作业,如下所示:

#runs on at 12:00AM on the first of each month
every '0 0 1 * *' do
    command "echo 'you can use raw cron syntax too'"
end

语法为分钟、小时、月中的日、月、周中的日。
如果无法选择在月初运行作业,则可以将作业安排在每月的28 - 31日运行,并在take中添加逻辑以仅在每月的最后一天执行作业,如this answer中所述

相关问题