
Estou correndo supervisord
para manter o Redis e outros softwares em funcionamento. No entanto, não posso, de jeito nenhum, começar resque-web
a trabalhar.
Este é o .ini que estou incluindo:
[programa:resque] comando=/usr/local/rvm/gems/ruby-2.0.0-p195/bin/resque-web inicialização automática = verdadeiro reinicialização automática=true usuário = raiz stdout_logfile=/var/lib/resque/stdout.log stderr_logfile=/var/lib/resque/stderr.log
Infelizmente, quando executo, service supervisor restart
recebo o seguinte no supervisord
log:
INFO encerrado: resque (status de saída 127; não esperado)
De acordo com o Googlecódigo 127é "Comando não encontrado". No entanto, se eu executar esse comando manualmente, o servidor resque-web inicializará perfeitamente com a saída de:
[2013-05-24 00:03:09 -0600] Iniciando 'resque-web'... [2013-05-24 00:03:09 -0600] tentando a porta 5678...
Também é importante notar que vejo o seguinte quando /var/lib/resque/stderr.log
o supervisord tenta iniciar o resque-web:
/usr/bin/env: ruby_noexec_wrapper: Esse arquivo ou diretório não existe
Então estou perplexo. Todos os outros softwares que configurei no supervisord funcionam perfeitamente. Esse é o único que me dá dor de cabeça...
Editar 1
Tentei criar um script bash simples para contornar isso e agora recebo um erro diferente no stderr.log
arquivo. O .ini que incluo foi alterado para tercommand=/usr/local/bin/resque-web
/usr/local/bin/resque-web
#!/bin/bash fonte /usr/local/rvm/environments/default resgatar-web
Erro
usr/local/rvm/gems/ruby-2.0.0-p195/gems/vegas-0.1.11/lib/vegas/runner.rb:82:in `app_dir': nem --app-dir nem 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 `initialize' de /usr/local/rvm/gems/ruby-2.0.0-p195/gems/resque-1.24.1/bin/resque-web:13:in `novo' de /usr/local/rvm/gems/ruby-2.0.0-p195/gems/resque-1.24.1/bin/resque-web:13:in `' de /usr/local/rvm/gems/ruby-2.0.0-p195/bin/resque-web:23:in `load' de /usr/local/rvm/gems/ruby-2.0.0-p195/bin/resque-web:23:in `' de /usr/local/rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper:14:in `eval' de /usr/local/rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper:14:in `'
Responder1
Bem, parece que o supervisor não funcionará com o resque-web, pois é um processo daemonizado. A solução foi criar /etc/cron.d/resque
e colocar o seguinte nele:
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/rvm/gems/ruby-2.0.0-p195/bin CASA=/ * * * * * raiz resque-web
Isso é executado a cada minuto e reinicia o servidor se ele travar. Bom o suficiente para mim!