Agregar resque-web a Supervisord

Agregar resque-web a Supervisord

Me postulo supervisordpara mantener Redis y otras piezas de software en funcionamiento. Sin embargo, por mi vida no puedo ponerme resque-weba trabajar.

Este es el .ini que estoy incluyendo:

[programa:resque]
comando=/usr/local/rvm/gems/ruby-2.0.0-p195/bin/resque-web
inicio automático = verdadero
inicio automático = verdadero
usuario=raíz
stdout_logfile=/var/lib/resque/stdout.log
stderr_logfile=/var/lib/resque/stderr.log

Desafortunadamente, cuando lo ejecuto service supervisor restartobtengo lo siguiente en el supervisordregistro:

INFO salió: resque (estado de salida 127; no esperado)

Según Googlecódigo 127es "Comando no encontrado". Sin embargo, si ejecuto ese comando manualmente, el servidor web resque arranca perfectamente con el resultado de:

[2013-05-24 00:03:09 -0600] Iniciando 'resque-web'...
[2013-05-24 00:03:09 -0600] probando el puerto 5678...

También vale la pena señalar que veo lo siguiente cuando /var/lib/resque/stderr.logsupervisord intenta iniciar resque-web:

/usr/bin/env: ruby_noexec_wrapper: No existe tal archivo o directorio

Entonces estoy perplejo. Cualquier otro software que haya configurado en supervisord funciona bien. Este es el único que me da dolor de cabeza...

Editar 1

Así que intenté crear un script bash simple para solucionar este problema y ahora aparece un error diferente en el stderr.logarchivo. El .ini que incluyo se cambia para tenercommand=/usr/local/bin/resque-web

/usr/local/bin/resque-web

#!/bin/bash
fuente /usr/local/rvm/environments/default
resque-web

Error

usr/local/rvm/gems/ruby-2.0.0-p195/gems/vegas-0.1.11/lib/vegas/runner.rb:82:in `app_dir': ni --app-dir ni EVN['HOME '] definido (ArgumentError)
        de /usr/local/rvm/gems/ruby-2.0.0-p195/gems/vegas-0.1.11/lib/vegas/runner.rb:66:in 'inicializar'
        de /usr/local/rvm/gems/ruby-2.0.0-p195/gems/resque-1.24.1/bin/resque-web:13:en `nuevo'
        de /usr/local/rvm/gems/ruby-2.0.0-p195/gems/resque-1.24.1/bin/resque-web:13:en `'
        desde /usr/local/rvm/gems/ruby-2.0.0-p195/bin/resque-web:23:en `cargar'
        de /usr/local/rvm/gems/ruby-2.0.0-p195/bin/resque-web:23:en `'
        de /usr/local/rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper:14:en `eval'
        de /usr/local/rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper:14:en `'

Respuesta1

Bueno, parece que el supervisor no funcionará con resque-web ya que es un proceso demonizado. La solución fue crear /etc/cron.d/resquey poner lo siguiente en él:

SHELL=/bin/bash
RUTA=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/rvm/gems/ruby-2.0.0-p195/bin
INICIO=/
* * * * * raíz resque-web

Esto se ejecuta cada minuto y reinicia el servidor si falla. ¡Suficientemente bueno para mi!

información relacionada