bluepill не обнаруживает, что процессы на самом деле успешно запущены, и поэтому создает новые
У меня есть один (EC2) сервер Ubuntu, где bluepill
работает просто отлично, чтобы начать и мониторинг resque
процессы (и это было сделано на других узлах в прошлом).
Я настраиваю новый узел, и по какой-то причине на этом узле bluepill
не распознает, что процессы запущены и работают, и поэтому продолжает создавать новые. Я немного сбит с толку тем, что вызывает это. 2 узла практически идентичны; они оба сервера EC2, предоставляемые одним и тем же chef
скрипты. Это правда, что один не работает - это "производство", а другой "постановка", но разницы почти нет из-за этого.
Есть какие-нибудь мысли или предложения, прежде чем я раскошелюсь на проект github и начну добавлять больше мониторинга, чтобы попытаться выяснить, что происходит? В прошлом в этом списке обсуждалась проблема с bluepill
а также resque
, но, как я уже сказал, это нормально работает на моем промежуточном сервере и хорошо работало на более ранних производственных серверах (хотя я отмечу, что этот новый производственный сервер - ruby 1.9.3 (против 1.9.2) и rails 3.2 (против 3.1))).
Вот мой .pill
файл (или, более конкретно, мой chef
файл шаблона поваренной книги):
ENV["RAILS_ENV"] = "<%= node.chef_environment %>"
ENV["QUEUE"] = "*"
Bluepill.application("zmx_app") do |app|
app.working_dir = "/srv/zmx/current"
app.uid = "root"
app.gid = "root"
2.times do |i|
app.process("resque-#{i}") do |process|
process.group = "resque"
process.start_command = "rake resque:work"
process.pid_file = "/srv/zmx/current/tmp/pids/resque_workers-#{i}.pid"
process.stop_command = "kill -QUIT {{PID}}"
process.daemonize = true
end
end
end
1 ответ
Это оказалось ошибкой в bluepill, которую я разбудил, исправил и отправил запрос на извлечение.
И я не уверен, почему я не осознал, что между двумя моими средами действительно была разница: staging/old prod был на bluepill 0.0.55, моя новая производственная среда на 0.0.58.