Комментарии 4
задача оказалась обработана за 11 секунд до ее создания
Тот самый момент, когда пора узнать, что такое кооперативная многозадачность, вспомнить, что у экзекутора есть очередь, и осознать, что операция записи в лог может в этой очереди лежать неопределенно долгое время.
Добавьте в лог-строку текущее время - и внезапно увидите, что время которое пишется в логе, и время которое передали вы в момент размещения, может оказаться совершенно разным.
Спасибо! Попробую и в следующей статье расскажу
Я решил попробовать твою версию, спасибо за дельный совет, но у меня оказалось дело в другом. run_in_executor() идет после get_next_task() где выставляется started_at для выполнения. Я проверил БД и проблема была в этом. started_at выставлялся для всех задач примерно равно, а created_at был с задержками из-за NOW() который фиксирует начало транзакции, а не ее коммит.
Не имеет отношения к хабу Habr.

Задача в проекте оказалась обработана за 11 секунд до создания…