2015-07-20 71 views
0

我想在月末运行rake任务,但根据下面的帖子,cron并没有提供简单的方法。如何在每个月末使用月末运行作业

Cron job to run on the last day of the month

所以我写这样的:

every "50 23 30 4,6,9,11 *" do 
    rbenv_rake "foo:update" 
end 
every "50 23 31 1,3,5,7,8,10,12 *" do 
    rbenv_rake "foo:update" 
end 
every "50 23 28 2 *" do 
    rbenv_rake "foo:update" 
end 

是否有每当写的代码更简单的包装方法?

+0

0 50 23 L *?你试过这个吗?我从http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger检查了这个链接。不知道它是否会帮助你。因为wiki说L是不标准的。但你可以试试看。 – Athar

+0

谢谢,但如果它不是标准的方式,我会坚持我写的方式。即使它适用于我目前的环境,我也不想使用不确定的代码。 – ironsand

+0

是的,这是最好的办法。保持标准化 – Athar

回答

0

为什么10分钟后你不能运行一些脚本?

every "0 0 1 * *" do 
    rbenv_rake "foo:update" 
end 
+0

因为在脚本中我使用日期,所以它的工作方式不同。 – ironsand

0

应该试试这个 -

every 1.month, :at => '00:00am' do 
    rbenv_rake "foo:update" 
    end