Некоторые основные вопросы о 'delayed_job' - PullRequest
8 голосов
/ 11 июля 2010

Я пытаюсь delayed_job сейчас, и у меня есть несколько вопросов.

На странице http://github.com/collectiveidea/delayed_job я вижу некоторую информацию:

Работники могутработать на любом компьютере, если у них есть доступ к базе данных и их часы синхронизированы.Имейте в виду, что каждый работник будет проверять базу данных по крайней мере каждые 5 секунд.

  1. Когда я вызываю rake jobs:work один раз, он создает ONE работника, верно?

  2. Когда работник проверяет базу данных, он будет читать ВСЕ новые и неудачные задачи КАЖДОЕ ВРЕМЯ и запускать их?

  3. он говорит, что работник будет проверять базу данных каждые 5 секунд, могу ли я сделать это 2 секунды?

  4. Когда я создаю работника (rake jobs:work), в базе уже есть 10 задач, и каждая займет 3 секунды.Сколько процессов создаст DelayedJob?И сколько всего нужно секунд?

1 Ответ

13 голосов
/ 11 июля 2010
  1. да
  2. да
  3. Delayed::Worker.sleep_delay = 2
  4. 1 работник будет работать над каждой задачей по очереди, проходя или не выполняя ее, прежде чем перейти к следующей.Всего 30 секунд + однако длительные 9 задержек сна относятся к общему времени (по умолчанию 45 секунд).Я не уверен, как ответить на ваш вопрос о процессах.Создан 1 работник, что является процессом.Ноль или более других процессов могут быть созданы, в зависимости от того, какое задание нужно запустить.
...