2014-01-03 3 views
0

В заявлении documentation указано, что замедленный рабочий рабочий может быть вызван с использованием такой задачи: rake jobs:work или QUEUE=queue1 rake jobs:work, если вы хотите, чтобы он работал в определенной очереди.delayed_job Параметры задачи и параллелизма delayed_job

У меня есть несколько вопросов о том, таким образом, чтобы ссылаться на работу:

  1. Есть ли способ, чтобы передать другие параметры, такие как sleep-delay или read-ahead (как вы могли бы сделать, если вы начнете работник с помощью сценария: delayed_job start --sleep-delay 30 --read-ahead 500 --queue=queue1)?
  2. Есть ли какой-либо выигрыш в скорости обработки, если вы запускаете 2 рабочих в одной очереди с помощью команды rake?
+0

Интересное и, возможно, релевантное для ответа, зачем вам это нужно? – bbozo

+0

Выполняет ли https://github.com/zxiest/delayed_job_active_record_threaded это для вас? отказ от ответственности: я построил этот камень. – Abdo

ответ

0

rake jobs:work просто средство для достижения цели, чтобы поставить другой работник, в целях развития или отрабатывать большую очередь (у вас есть rake jobs:workoff для этого, хотя), так что все выгоды и отказы от нескольких рабочих применяются,

два рабочих мест обрабатывать параллельно, так что если у вас есть власть центрального процессора ваша очередь будет работала быстрее

Я не знаю, о вопросе #1, хотя, возможно, rake jobs не был предназначен для использования вне развития

1

В ответ на 1. - да вы можете установить задержку сна и читать вперед из командной строки. Вы делаете это через переменные среды:

QUEUE=queue1 SLEEP_DELAY=1 rake jobs:work 

например. См. this фиксация.

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