Ich versuche, einen Resque-Worker als Upstart-Init-Skript einzurichten, das von Monit in einer Rails-App verwendet wird. Ich bin kein Sysop und habe versucht, dies anhand von Beispielen aus einem anderen Init-Skript zu schreiben, das wir auf unserem Server haben. Folgendes habe ich:
start on startup
stop on shutdown
pre-start script
cd /var/www/my-app/current
end script
script
exec bundle exec rake environment resque:work RAILS_ENV=staging PIDFILE=/var/run/resque.pid QUEUE=sync >> /var/log/resque.log
end script
Aber es funktioniert nicht, wenn ich es versuche, sudo start resque
bekomme ich:
resque start/running, process XXXX
Soweit ich weiß, wird nichts gestartet, es ist weder ein Resque-Prozess noch eine Protokolldatei zu finden. Ich bin ziemlich verloren, wie ich es zum Laufen bringen kann.
Update : Ich habe die Syslog-Datei gefunden und sie lautet:
Nov 4 17:20:09 fantasysports init: resque main process (3057) terminated with status 2
Update : Ich habe versucht, es mit sudo auszuführen (ja, das macht keinen Sinn!) Und die Ausgabeumleitung in die Protokolldatei entfernt. Jetzt erhalte ich einen anderen Statuscode:
Nov 4 17:29:44 fantasysports init: resque main process (3276) terminated with status 10
Update : Am Ende wurde Upstart für init.d eingestellt, da dies start-stop-daemon
viel besser dokumentiert ist und ich die vollständige Kontrolle darüber habe, was los ist.