2015-07-20 1 views
0

Я хочу запустить задачу рейка в конце месяца, но, согласно сообщению ниже, 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