2015-05-18 4 views
2

Я хотел бы использовать планировщик Heroku для запуска каждого ДРУГОГО понедельника. Тем не менее, он работает только ежечасно, ежедневно, каждые 10 минут.Запуск задания каждые полдень

Я прочитал это ... How can I schedule a 'weekly' job on Heroku?

Однако, я не уверен, что код может быть использован. Я думаю, что могу разобраться каждый понедельник, но не каждый ДРУГОЙ понедельник.

благодаря

+0

check out: https: // github.com/javan/whenever –

+0

Вы имеете в виду каждый ДРУГОЙ понедельник каждый понедельник, кроме этого? –

ответ

2

Как получить более сложный, я бы рекомендовал проверить планирования драгоценных камней. Если вы хотите придерживаться ванильного рубина, посмотрите на комбинацию monday? и cweek, в которой указывается номер недели в текущем году. Запускайте работу по понедельникам в четные недели.

date = Date.today 
date.monday? && date.cweek.even? 

Обратите внимание, что cweek может возвращать 53, так как 365 не делятся на 7, и он должен справиться с этой последней, частичной неделей. Первая неделя нового года будет 1 (это не считается от 0), поэтому вам нужно либо пропустить неделю, либо сделать два прохода подряд, когда понедельник выпадает на неделе 53.

Смежные вопросы