Обновить

Комментарии 4

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

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

Добавьте в лог-строку текущее время - и внезапно увидите, что время которое пишется в логе, и время которое передали вы в момент размещения, может оказаться совершенно разным.

Спасибо! Попробую и в следующей статье расскажу

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

Не имеет отношения к хабу Habr.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации