BluePillがそのプロセスが正常に開始したことを検出しないため、新しいプロセスを作成します
-
28-10-2019 - |
質問
1つの(EC2)ubuntuサーバーがあります bluepill
開始と監視のためにうまく機能しています resque
プロセス(そして、過去の他のノードでそれを行った)。
私は新しいノードを設定しています、そして何らかの理由でこのノードで bluepill
プロセスが開始され、実行されていることを認識していないため、新しいプロセスを作成し続けます。私はこれを引き起こしていることに少し困惑しています。 2つのノードはほぼ同じです。どちらも同じものでプロビジョニングされているEC2サーバーです chef
スクリプト。動作していないのは「生産」と他の「ステージング」であることは事実ですが、そのために違いはほとんどありません。
GitHubプロジェクトをフォークし、より多くの監視を挿入し始める前に、何が起こっているのかを把握しようとする前に、何かが考えられますか?過去にこのリストについて、トラブルについて議論がありました bluepill
と resque
, 、しかし、私が言ったように、これは私のステージングサーバーで正常に動作しており、以前の生産サーバーでうまく機能しています(ただし、この新しい生産サーバーはRuby 1.9.3(vs 1.9.2)およびRails 3.2(vs。3.1であることに注意してください。 ))。
これが私です .pill
ファイル(またはより具体的には、私の chef
Cookbookのテンプレートファイル):
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
解決
これは、Bluepillのバグであることが判明しました。 プルリクエストを送信しました.
実際、2つの環境に違いがあることに気付かなかった理由はわかりません。ステージング/古い製品は、0.0.58の新しい生産環境であるBluepill 0.0.55にありました。