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