我有一个(EC2) Ubuntu服务器,在那里bluepill可以很好地启动和监控resque进程(它过去在其他节点上也是这样做的)。
我正在设置一个新节点,由于某些原因,在这个节点上,bluepill无法识别进程已经启动并且正在运行,因此一直在创建新的进程。我对这件事的起因有点困惑。这两个节点几乎完全相同;它们都是由相同的chef脚本提供的EC2服务器。这是真的,一个不工作是‘生产’和另一个‘阶段’,但由于这几乎没有区别。
在我分叉github项目并开始插入更多监控之前,有什么想法或建议吗?在过去的这个列表中有关于bluepill和resque的麻烦的讨论,但正如我所说的,这在我的临时服务器上工作得很好,在早期的生产服务器上也工作得很好(尽管我会注意到这个新的生产服务器是Ruby1.9.3(vs.1.9.2)和Rails3.2(vs.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发布于 2012-02-25 01:47:07
这被证明是bluepill中的一个bug,我已经对它进行了派生、修复和submitted a pull request。
我不确定为什么我没有意识到,事实上,我的两个环境之间存在差异: staging/old prod在bluepill 0.0.55上,我的新生产环境在0.0.58上。
https://stackoverflow.com/questions/9371594
复制相似问题