Как настроить работника сельдерея для выполнения только задач с высоким приоритетом?Python

Программы на Python
Anonymous
Как настроить работника сельдерея для выполнения только задач с высоким приоритетом?

Сообщение Anonymous »

Celery позволяет маршрутизировать задачи по имени задачи, чтобы избежать нагрузки от одного типа задач и задержки задач других типов.
Celery также обрабатывает приоритет с помощью ручного масштабирования (часто 0: высший приоритет -> 10: самый низкий приоритет).
Приоритет можно установить, когда вы ставите задачу в очередь

Код: Выделить всё

my_task.apply_async(args=("daily task",), priority=7)
my_task.apply_async(args=("user interaction task",), priority=2)
Таким образом, одна и та же задача может иметь разный приоритет, если она вызывается в результате взаимодействия с пользователем или из фоновой задачи.
Моя идея было бы неплохо, например, иметь приоритетного работника, который обрабатывал бы только задачи с приоритетом ниже заданного порога (например, 5), и обычного работника, обрабатывающего любую задачу (включая задачи с высоким приоритетом). Наличие множества длительных задач с низким приоритетом позволяет избежать каких-либо проблем, поскольку это не приведет к увеличению задержки критически важных задач.
Возможно ли это вообще?

Подробнее здесь: https://stackoverflow.com/questions/789 ... tasks-only

Вернуться в «Python»