Некоторые значки юбилея вручаются через день и через год после последнего значка юбилея

Это баг, но я думаю, что это как раз тот случай, когда мы приветствуем pull-запросы. Наша логика работы такова:

  1. Раз в день мы ищем новых людей, которым можно выдать юбилейные значки.
  2. Мы рассматриваем только тех, кто не получал юбилейный значок в течение предыдущего года.

Проблема в том, что это выполняется раз в сутки в произвольное время, поэтому задача всегда запускается с задержкой: иногда на час, а иногда на 23 часа.

Учитывая, что значки выдаются раз в день, нам нужно изменить логику следующим образом:

  1. Найти кандидатов.
  2. Установить created_at с правильным смещением вместо использования end_date.

Исправление вполне выполнимо, но требует аккуратности.

2 лайка