Delayed_Job обрабатывает один и тот же тип задания с несколькими рабочими?

Я использую модуль delayed_job и бригадир для фоновой обработки. У меня есть работа "ImportTitlesJob". Я хочу обрабатывать задания этого типа в очереди по 2 за раз.

Я использую выскочку для экспорта своих заданий, и я использовал инструмент экспорта мастера, чтобы сделать это с флагом параллелизма. Я вижу, что есть 2 рабочих задания, экспортированных и запущенных в 2-х процессах, однако только 1 из 2 моих заданий в очереди обрабатывается одновременно.

Вот что есть в моем Procfile:

worker: bundle exec rake jobs: работа RAILS_ENV = production

Я использую эту команду для экспорта файла procfile в выскочку, которая создает двух рабочих:

sudo foreman export --app имя_приложения --user ubuntu --concurrency worker = 2 upstart / etc / init

Как я могу выполнять свои задания по 2 за раз?

Нужно ли мне использовать именованные очереди для каждого из моих заданий при их постановке в очередь?


person startupsmith    schedule 13.07.2013    source источник


Ответы (1)


Мне удалось решить эту проблему, используя именованные очереди при постановке заданий в очередь.

Это можно сделать, передав заданию параметр: queue при его постановке в очередь с отложенными заданиями.

person startupsmith    schedule 21.07.2013