У меня сейчас есть проект Rails 3.0 с Ruby 1.9.2 и Resque.
Мое приложение имеет несколько рабочих классов и несколько очередей, которые создаются динамически (во время выполнения). Кроме того, запущено несколько рабочих, которые могут свободно работать с любыми очередями, потому что во время запуска не существует никаких существующих очередей, и их нельзя предсказать:
$ COUNT=3 QUEUE=* rake resque:workers
Очередь созданного на основе идентификатора project
:
@queue = "project_#{project.id}".to_sym
Для данной очереди их задания должны обрабатываться по порядку и по одному за раз. Моя проблема в том, что при наличии нескольких рабочих несколько заданий обрабатываются параллельно.
Есть ли способ установить максимальное количество работников в очереди (до 1)? Есть ли способ заблокировать очередь во время обработки задания?
Спасибо!