2009-10-30 3 views
2

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

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

+1

Вы когда-нибудь придумать решение для этого? Я испытываю то же самое ... и я полностью озадачен этим. – jkrall

ответ

0

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

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