简体   繁体   English

我怎样才能在每个月的第 4 个星期日在 Rails 中触发一个 rake 任务?

[英]how can i trigger a rake task on every 4th sunday of every month in rails?

i am having a rake task.我有一个耙子任务。 i want that task to be scheduled to run on every 4th Sunday of every month.我希望该任务安排在每个月的第 4 个星期日运行。 i am using whenever gem.我正在使用宝石。 how can i define logic in config/schedule.rb so that it will run on every 4th Sunday of every month in Rails?如何在config/schedule.rb定义逻辑,使其在每个月的第 4 个星期日在 Rails 中运行? please help me.请帮我。

this is my rake task app/lib/tasks/my_task.rake .这是我的 rake 任务app/lib/tasks/my_task.rake

task :do_something => :environment do

end

this is my code in config/schedule.rb这是我在config/schedule.rb代码

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

how can i change the above logic?我怎样才能改变上面的逻辑?

whenever gem gives a facility to generate a cron job.每当 gem提供生成 cron 作业的工具时。 This is a scheduler for rake tasks.这是 rake 任务的调度程序。 You can define like你可以定义像

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

If you want something like 1st sunday every month use cron editor like如果你想要像每个月的第一个星期天一样使用 cron 编辑器

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM