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