Убить всех работников delayed_job

Я использую delayed_job в качестве демона https://github.com/tobi/delayed_job/wiki/Running-Delayed::Worker-as-a-daemon

Я не могу сказать почему, но иногда я вижу более одной работы, выполняемой несколькими рабочими (разными pid), и запуск stop ничего не останавливает. есть ли способ убить всех демонов этого процесса/всех рабочих? Или убить определенный pid (я на виртуальном хостинге, поэтому kill/killall для меня недоступны).


person elado    schedule 31.12.2009    source источник


Ответы (1)


Отсутствие доступа к «убийству» в этой настройке быстро превратится в PITA, и мне кажется, что у вас не будет возможности убивать процессы, которые вы сами запустили.

Для повышения надежности воркера вы можете попробовать форк коллективной идеи delayed_job и использовать гем daemon-spawn вместо демонов. Мне больше повезло с этой комбинацией.

person jmcnevin    schedule 31.12.2009
comment
Спасибо. Я просто не понимаю - как я могу запустить процесс и не остановить его без убийства? Может быть, мне стоит взглянуть на спецификацию Daemons. Я также проверю форк коллективной идеи. - person elado; 01.01.2010
comment
В ПОРЯДКЕ. Я видел в журналах, что это было исключение памяти. Так я понял, что виртуальный хостинг не для меня. Перешел на VPS, все отлично работает! - person elado; 05.01.2010
comment
Вилка коллективной идеи — это путь. - person Jonathan Julian; 08.01.2010
comment
Мне также больше повезло с daemon-spawn - person Brian Armstrong; 27.03.2010