1

我有一个(EC2)Ubuntu 服务器,bluepill它可以很好地启动和监控resque进程(过去在其他节点上也这样做过)。

我正在设置一个新节点,由于某种原因,该节点bluepill上的进程无法识别进程已启动并正在运行,因此不断创建新节点。我对造成这种情况的原因感到有些困惑。2 个节点几乎相同;它们都是由相同chef脚本配置的 EC2 服务器。确实,一个不工作的是“生产”,另一个是“分期”,但几乎没有区别。

在我分叉 github 项目并开始插入更多监控之前有什么想法或建议,试图弄清楚发生了什么?过去曾在此列表中讨论过带有bluepill和的问题resque,但正如我所说,这在我的登台服务器上运行良好,并且在早期的生产服务器上运行良好(尽管我会注意到这个新的生产服务器是 ruby​​ 1.9. 3 (vs 1.9.2) 和 rails 3.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
4

1 回答 1

2

原来这是 bluepill 中的一个错误,我已经分叉、修复并提交了一个 pull request

而且我不确定为什么我没有意识到实际上我的两个环境之间存在差异:staging/old prod 在 bluepill 0.0.55 上,我的新生产环境在 0.0.58 上。

于 2012-02-24T17:47:07.200 回答