Как я могу настроить различные рабочие пулы с помощью сельдерея? - PullRequest
3 голосов
/ 12 января 2011

Мне нужно развернуть службу исполнения из очереди (обычно) со следующими тремя классами работников:

  1. Периодический класс заданий с низким приоритетом, который занимает много времени и может обрабатываться последовательно; эти задания должны использовать не более 0,2 работников в системе.

  2. Периодический, чувствительный к крайнему сроку класс работы, который занимает короткий или средний промежуток времени (скажем, максимум за 5 минут)

  3. Специальный класс заданий, который имеет более высокий приоритет, чем # 1, но может чередоваться с # 2. Любые работники из класса № 2, которые неактивны, когда приходит этот тип работы, должны справиться с этим, никогда не истощая запас работников на № 2

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

Как я могу реализовать это с помощью сельдерея?

1 Ответ

3 голосов
/ 17 января 2011

Вы можете использовать Celery Routing для достижения своей цели. То, что вы делаете, это настраиваете три различных ключа маршрутизации и имеете несколько рабочих из сельдерея (с пользовательскими настройками), перечисляющих только на определенных вами ключах маршрутизации.

...