Рабочие процессы бесконтрольно размножаются - PullRequest
2 голосов
/ 30 октября 2009

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

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

1 Ответ

0 голосов
/ 01 марта 2010

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

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

...