Задача Celery задерживается при выполнении другой задачи, как убедиться в многопоточности?

У нас есть celery worker и beat scheduler, работающие на производстве, в выделенном Kubernetes POD. Мы использовали gevent и запустили celery с параллелизмом, установленным на 200.

celery -A app worker -l info --pool=gevent --concurrency=200

Недавно нам понадобилось, чтобы периодическая задача срабатывала каждые 5 секунд. Но когда в процессе выполнения находится другая задача celery (особенно те, которые взаимодействуют с базой данных), мы заметили, что задача сильно задерживается. Проверяя beat-scheduler, задачи отправляются каждые 5 секунд без проблем, но они ждут в брокере. Мы надеялись, что на эту периодическую задачу не влияют другие задачи, поскольку мы использовали параллелизм.

Пожалуйста, посмотрите скриншот журнала

Нам нужно убедиться, что эта задача выполняется каждые 5 секунд независимо от других задач.

Вернуться на верх