Rails +每当:在不同的日子里以相同的时间表运行任务

时间:2015-03-13 13:40:19

标签: ruby-on-rails whenever

我每次使用gem来运行计划作业。 我的schedule.rb有这样的东西:

every 3.days, :at => '2:10 pm' do
   runner "Something.task()"
end

every 3.days, :at => '1:10 pm' do
   runner "Something.othertask()"
end

问题是,是否有可能定义第一份工作今天开始运行,其他只有明天?所以他们永远不会在同一天跑。

1 个答案:

答案 0 :(得分:2)

如果你无法弄清楚如何使用ruby语法,你也可以使用原始cron语法。

你想要的样子:

every '0 2 20 * *' do
  command "echo 'you can use raw cron sytax too'"
end

这是一个关于如何使用cron语法

的快速备忘录
*     *     *   *    *        command to be executed
-     -     -   -    -
|     |     |   |    |
|     |     |   |    +----- day of week (0 - 6) (Sunday=0)
|     |     |   +------- month (1 - 12)
|     |     +--------- day of month (1 - 31)
|     +----------- hour (0 - 23)
+------------- min (0 - 59)

来自:http://adminschoice.com/crontab-quick-reference