2013-10-09 4 views
1

Хорошо, я немного искал эту проблему и не нашел многого.
Например, у меня есть один рабочий и два разных источника задач. Один из них запланирован с биением, каждый час каждый час запускает маленькие задачи, а другой имеет огромное количество задач, которые будут останавливаться на что-то около месяца. Проблема в том, что эти маленькие задачи никогда не будут выполняться, или это будет с огромной задержкой.
Так что, конечно, я пытался отделить их в разных очередях, но это не имеет никакого смысла, поскольку оба они обрабатываются одним рабочим (два разных сотрудника в порядке, но это не мой вопрос). Я хочу знать, есть ли механизм для определения очередности очередей для работника сельдерея. Или, по крайней мере, мне хотелось бы, чтобы кто-то указал мне на какую-то информацию о том, как рабочий выбирает, какую задачу из очереди нужно обрабатывать в этот момент. С одной очередью она кажется простой, линейной. Но как насчет разных очередей, обрабатываемых одним и тем же работником?Очереди с приоритетом сельдерей

Спасибо

ответ

1

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

http://docs.celeryproject.org/en/latest/userguide/routing.html#automatic-routing

Вы можете начать два отдельных рабочих (с разной --queue вариант). Я думаю, этого будет достаточно.

+0

Я понимаю, что нет способа определить приоритетность задачи внутри очереди, вопрос был о приоритизации очереди. Как сельдерей переключается между очередями? – free2use

+0

Я извиняюсь, что он просто потребляет все очереди, и нет никакой разницы между – Rustem

Смежные вопросы