Hinzufügen von resque-web zu Supervisord

Hinzufügen von resque-web zu Supervisord

Ich versuche, supervisordRedis und andere Softwareteile am Laufen zu halten. Allerdings kann ich beim besten Willen nicht resque-webmit der Arbeit beginnen.

Dies ist die INI-Datei, die ich einbinde:

[Programm:resque]
Befehl=/usr/local/rvm/gems/ruby-2.0.0-p195/bin/resque-web
autostart=true
autorestart=true
Benutzer=root
stdout_logfile=/var/lib/resque/stdout.log
stderr_logfile=/var/lib/resque/stderr.log

Leider erscheint beim Ausführen service supervisor restartfolgendes im supervisordProtokoll:

INFO beendet: resque (Exit-Status 127; nicht erwartet)

Laut GoogleKennziffer 127lautet „Befehl nicht gefunden“. Wenn ich diesen Befehl jedoch manuell ausführe, bootet der Resque-Web-Server einwandfrei und gibt folgende Ausgabe aus:

[2013-05-24 00:03:09 -0600] „resque-web“ wird gestartet …
[2013-05-24 00:03:09 -0600] Versuch's mit Port 5678...

Es ist auch erwähnenswert, dass ich Folgendes sehe, /var/lib/resque/stderr.logwenn supervisord versucht, resque-web zu starten:

/usr/bin/env: ruby_noexec_wrapper: Keine solche Datei oder kein solches Verzeichnis

Ich bin also ratlos. Jede andere Software, die ich auf Supervisord konfiguriert habe, funktioniert einwandfrei. Dies ist die einzige, die mir Kopfschmerzen bereitet ...

Bearbeiten 1

Ich habe also versucht, ein einfaches Bash-Skript zu erstellen, um das Problem zu umgehen, und jetzt bekomme ich einen anderen Fehler in der stderr.logDatei. Die von mir eingefügte .ini-Datei wurde geändert, umcommand=/usr/local/bin/resque-web

/usr/local/bin/resque-web

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

Fehler

usr/local/rvm/gems/ruby-2.0.0-p195/gems/vegas-0.1.11/lib/vegas/runner.rb:82:in „app_dir“: noch --app-dir weder EVN[„HOME“] definiert (ArgumentError)
        von /usr/local/rvm/gems/ruby-2.0.0-p195/gems/vegas-0.1.11/lib/vegas/runner.rb:66:in „initialisieren“
        von /usr/local/rvm/gems/ruby-2.0.0-p195/gems/resque-1.24.1/bin/resque-web:13:in „neu“
        von /usr/local/rvm/gems/ruby-2.0.0-p195/gems/resque-1.24.1/bin/resque-web:13:in `'
        von /usr/local/rvm/gems/ruby-2.0.0-p195/bin/resque-web:23:in „laden“
        von /usr/local/rvm/gems/ruby-2.0.0-p195/bin/resque-web:23:in `'
        von /usr/local/rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper:14:in „eval“
        von /usr/local/rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper:14:in `'

Antwort1

Es scheint, dass Supervisor nicht mit resque-web funktioniert, da es sich um einen dämonisierten Prozess handelt. Die Lösung bestand darin, /etc/cron.d/resqueFolgendes zu erstellen und darin abzulegen:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/rvm/gems/ruby-2.0.0-p195/bin
HOME=/
* * * * * root-resque-web

Dies läuft jede Minute und startet den Server neu, wenn er abstürzt. Für mich gut genug!

verwandte Informationen