Рабочие процессы множатся бесконтрольно

У нас есть приложение rails, работающее на пассажире, и мы обрабатываем некоторые задачи в фоновом режиме, используя комбинацию RabbitMQ и Workling. Рабочий процесс рабочего процесса запускается с помощью команды script/workling_client. Всегда запущен только один рабочий процесс, а script/workling_client имеет параметры :multiple => false, что позволяет использовать только один экземпляр. Но иногда, при загадочных обстоятельствах, которые мне не удалось отследить, появляются новые рабочие. Если я даю системе поработать какое-то время, появляется все больше и больше рабочих процессов. Я не уверен, вызывают ли эти мошенники какие-либо проблемы, но все же тревожно не знать, почему это происходит. Мы используем Monit для мониторинга рабочего процесса. Так что, если он умрет, он снова появится. Но это все равно не объясняет, почему их вдруг стало больше одного.

Итак, мой вопрос: кто-нибудь знает, что может быть причиной этого и как это остановить? Возможно ли, что рабочий иногда умирает сам по себе, без удаления его pid-файла? Может ли быть что-то не так с драгоценным камнем Daemons, на котором основан workling_client?


person adam    schedule 30.10.2009    source источник
comment
Вы когда-нибудь придумывали решение для этого? Я испытываю то же самое... и я совершенно сбит с толку этим.   -  person jkrall    schedule 08.02.2010


Ответы (1)


Не ответ - у меня те же проблемы с запуском RabbitMQ + Workling.
Я также использую God для мониторинга одного рабочего процесса (:multiple => false)... Я обнаружил, что несколько рабочих процессов потребляют огромное количество ресурсов. объем памяти и вызывает серьезное использование ресурсов, поэтому важно, чтобы я нашел решение для этого.

Эта ветка сообщений может оказаться полезной: http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/ed8edd0368066292/5b17d91cc85c3ada?show_docid=5b17d91cc85c3ada&pli=1

person simianarmy    schedule 01.03.2010