Могут ли задания resque и resque-scheduler выполняться параллельно?

Как заставить задания resque и resque-scheduler работать параллельно,
я могу запускать 2 рабочих процесса одновременно

COUNT=2 QUEUE=* rake resque:workers

Но когда работают 2 задания resque, задание resque-scheduler ожидает в очереди,
мне нужно, чтобы задание resque-scheduler выполнялось параллельно с заданием resque.


person Aydar Omurbekov    schedule 21.11.2013    source источник
comment
Почему бы не разделить их по разным очередям?   -  person astropanic    schedule 21.11.2013
comment
@astropanic у них 2 разные очереди   -  person Aydar Omurbekov    schedule 21.11.2013
comment
COUNT=2 QUEUE=foo rake resque:workers ; COUNT=2 QUEUE=bar rake resque:workers - у вас будет на обоих 2 рабочих   -  person astropanic    schedule 21.11.2013


Ответы (1)


Resque позволяет использовать разные рабочие очереди и устанавливать приоритетный список очередей, из которых работники берут работу.

Например, если у вас есть очередь под названием «batch_jobs» и очередь под названием «запланированная» работа с более высоким приоритетом, вы можете запустить 2 рабочих, используя:

COUNT=2 QUEUE=scheduled,batch_jobs rake resque:workers

Когда вы планируете задания из resque-scheduler, помещение их в «запланированную» очередь приведет к тому, что они будут выполняться перед заданиями в очереди «batch_jobs».

Каждый работник будет непрерывно просматривать список ОЧЕРЕДИ по порядку, пытаясь найти задание для работы.

person Winfield    schedule 05.12.2013