devlogquedulascheduling
Devlog #5: Очередь публикаций и ретраи
Публикация в Quedula работает через очередь: когда наступает запланированное время, задача попадает в очередь обработчику, который её выполняет.
Это позволяет отделить момент «когда нужно опубликовать» от момента «когда реально произошла публикация». Обработчик может быть занят другой задачей — ничего страшного, задача подождёт.
Для ретраев мы храним количество попыток и время следующей попытки прямо в записи задачи. При временном сбое задача возвращается в очередь с увеличенным счётчиком и задержкой. После максимального числа попыток — задача помечается как неудачная и пользователь получает уведомление.
Простая модель, которая хорошо работает на практике.