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