Это баг, но я думаю, что это как раз тот случай, когда мы приветствуем pull-запросы. Наша логика работы такова:
- Раз в день мы ищем новых людей, которым можно выдать юбилейные значки.
- Мы рассматриваем только тех, кто не получал юбилейный значок в течение предыдущего года.
Проблема в том, что это выполняется раз в сутки в произвольное время, поэтому задача всегда запускается с задержкой: иногда на час, а иногда на 23 часа.
Учитывая, что значки выдаются раз в день, нам нужно изменить логику следующим образом:
- Найти кандидатов.
- Установить
created_atс правильным смещением вместо использованияend_date.
Исправление вполне выполнимо, но требует аккуратности.