向Supervisord添加resque-web

我正在运行supervisord来保持Redis和其他软件的运行。 但是,在我的生活中,我无法resque-web重新工作。

这是我包括的.ini:

 [scheme:resque]
命令=的/ usr /本地/ RVM /gem/ruby2.0.0-P195 / bin中/ resque幅
自动启动=真
自动重启=真
用户=根
 stdout_logfile =的/ var / lib中/ resque / stdout.log
 stderr_logfile =的/ var / lib中/ resque / stderr.log

不幸的是,当我运行service supervisor restart我在supervisord日志中得到以下内容:

 INFO exited:resque(退出状态127;不是预期的)

根据谷歌的代码127是“命令未find”。 但是,如果我手动运行该命令,resque-web服务器启动就好了,输出:

 [2013-05-24 00:03:09 -0600]启动'resque-web'...
 [2013-05-24 00:03:09 -0600]试图端口5678 ...

还值得注意的是,当supervisord尝试启动resque-web时,我在/var/lib/resque/stderr.log看到以下内容:

 / usr / bin / env:ruby_noexec_wrapper:没有这样的文件或目录

所以我很难过 我在supervisord上configuration的每一个软件都可以正常工作。 这是唯一让我头疼的人

编辑1

所以我试图创build一个简单的bash脚本来解决这个问题,现在我在stderr.log文件中得到了一个不同的错误。 包含的.ini被更改为command=/usr/local/bin/resque-web

在/ usr / local / bin目录/ resque的Web

 #!/斌/庆典
源/ usr / local / rvm / environments / default
 resque的Web

错误

 usr / local / rvm / gems / ruby​​-2.0.0-p195 / gems / vegas-0.1.11 / lib / vegas / runner.rb:82:在app_dir中:也不是--app-dir EVN ['HOME '] defined(ArgumentError)
         from /usr/local/rvm/gems/ruby-2.0.0-p195/gems/vegas-0.1.11/lib/vegas/runner.rb:66:in`initialize'
         from /usr/local/rvm/gems/ruby-2.0.0-p195/gems/resque-1.24.1/bin/resque-web:13:in`new'
         from /usr/local/rvm/gems/ruby-2.0.0-p195/gems/resque-1.24.1/bin/resque-web:13:in`'
         from /usr/local/rvm/gems/ruby-2.0.0-p195/bin/resque-web:23:in`load'
         from /usr/local/rvm/gems/ruby-2.0.0-p195/bin/resque-web:23:in`'
         from /usr/local/rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper:14:in`eval'
         from /usr/local/rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper:14:in`'

那么,看起来主pipe将不会使用resque-web,因为它是一个守护进程。 解决方法是创build/etc/cron.d/resque ,并将其放在下面:

 SHELL = /斌/庆典
 PATH = / sbin目录:/ bin中:/ usr / sbin目录:在/ usr / bin中:/usr/local/rvm/gems/ruby-2.0.0-p195/bin
 HOME = /
 * * * * * root resque-web

这运行每分钟,并重新启动服务器,如果它崩溃。 对我来说够好!