
Ich versuche, supervisord
Redis und andere Softwareteile am Laufen zu halten. Allerdings kann ich beim besten Willen nicht resque-web
mit 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 restart
folgendes im supervisord
Protokoll:
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.log
wenn 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.log
Datei. 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/resque
Folgendes 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!