Если Heroku запускает cron ежедневно, нужно ли нам «если time.now.hour ...»? - PullRequest
1 голос
/ 04 мая 2011

Я пытаюсь выяснить, как работает дневной cron Heroku, в частности, так:

В соответствии с собственными cron docs Heroku , задачи cron часто пишутся так:

if Time.now.hour == 0 # run at midnight
  User.send_reminders
end

Что произойдет, если я установлю cron в другое время, кроме полуночи?По крайней мере из моей отладки кажется, что всякий раз, когда работает Heroku cron (почти всегда не в полночь), вышеприведенный раздел кода просто игнорируется.

Является ли хорошей практикой удаление элемента времени из cron.rake ииметь простой оператор User.send_reminders, который будет выполняться при каждом запуске этого документа?

1 Ответ

4 голосов
/ 04 мая 2011

Часто задаваемые вопросы Heroku говорят это:

Задания Cron выполняются в зависимости от того, когда вы включить надстройку. Если вы включите почасовое дополнение в 9:35 утра, например, задание cron будет выполняться в 35 минут после часа каждый час; если вы включили ежедневное дополнение на в то же время, он будет работать каждый день в 9: 35.

Я верю, что так работают мои ежедневные задания cron, хотя я не уделял этому слишком много внимания. У меня нет никаких временных проверок в моей ежедневной задаче cron.

Проверка времени в примере с Heroku будет полезна при использовании часового хрон, но не при ежедневном использовании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...