【问题标题】:how can i trigger a rake task on every 4th sunday of every month in rails?我如何在每个月的第 4 个星期日在 Rails 中触发 rake 任务?
【发布时间】:2015-09-29 05:21:57
【问题描述】:

我有一个 rake 任务。我希望该任务安排在每个月的第四个星期日运行。我正在使用宝石。我如何在config/schedule.rb 中定义逻辑,以便它在 Rails 中每个月的第四个星期日运行?请帮帮我。

这是我的 rake 任务app/lib/tasks/my_task.rake

task :do_something => :environment do

end

这是我在config/schedule.rb中的代码

every :sunday, :at => '12pm' do 
  runner "Employee.make_checkin_out"
end

如何改变上述逻辑?

【问题讨论】:

  • 但是这个问题没有答案。
  • 是的,我上周写了一篇。
  • 这个问题不仅是重复的,而且作者是一样的! @John - 如果您没有得到其他问题的答案(实际上是这样),那么请不要只是稍微改变措辞并将其作为一个不同的问题提出:这只会浪费人们的时间。

标签: ruby-on-rails schedule rake-task whenever


【解决方案1】:

whenever gem 提供了生成 cron 作业的工具。这是 rake 任务的调度程序。你可以定义像

every 1.month, :at => '4:30 am' do
  runner "MyModel.task_to_run_at_four_thirty_morning_every_month"
end

如果您想要每个月的第一个星期日,请使用 cron 编辑器,例如

0 12 1-7 * * [ "$(date '+\%a')" = "Sun" ]

【讨论】:

    猜你喜欢
    • 2016-06-29
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多