Ruby-Daemons nicht gestartet
Ich bin mit dem ruby-daemons-gem zum erstellen einer benutzerdefinierten daemon für mein rails-Projekt. Das problem ist nur, dass wenn ich versuche zu starten der daemons ruby lib/daemons/test_ctl start
dass es fehlschlägt und startet nicht. Die log-Datei dieser Ausgabe.
# Logfile created on Wed Oct 22 16:14:23 +0000 2008 by /
*** below you find the most recent exception thrown, this will be likely (but not certainly) the exception that made the application exit abnormally \*\*\*
# MissingSourceFile: no such file to load -- utf8proc_native
*** below you find all exception objects found in memory, some of them may have been thrown in your application, others may just be in memory because they are standard exceptions ***
# NoMemoryError: failed to allocate memory>
# SystemStackError: stack level too deep>
# fatal: exception reentered>
# LoadError: no such file to load -- daemons>
# LoadError: no such file to load -- active_support>
# MissingSourceFile: no such file to load -- lib/string>
# MissingSourceFile: no such file to load -- utf8proc_native>
Es passiert auch, wenn ich generieren ein daemon (aus dem rails-plugin) und versuchen, Sie auszuführen. Weiß jemand, wie dieses problem zu lösen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
OK, ich fand die Antwort auf dieses problem. Ich verlange, dass zwei benutzerdefinierte Dateien in der
config/environment.rb
. Ich benutzt relative Pfadangaben und da die Dämonen ausgeführt werden, in der rails-Hauptverzeichnis könnte es nicht diese beiden Dateien. nachdem Sie den absoluten Pfad das problem behoben.$: << Dir.pwd
Dies ausdrücklich fügt das aktuelle Arbeitsverzeichnis zu Ruby ' s include-Pfad. Aus irgendeinem Grund, dies ist notwendig bei Verwendung des daemons, die Bibliothek, den include-Pfad sah gut aus, aber hat nicht funktioniert, bis ich fügte hinzu, diese.require 'rubygems' require 'daemons' pwd = Dir.pwd Daemons.run_proc('yourserver.rb') do Dir.chdir(pwd) exec "ruby yourserver.rb' end
Verbrachte ich nur 30 Minuten zu lösen versucht eine ähnliche Fehlermeldung, wenn Sie versuchen, um Dämonen plugin arbeiten:
Aus irgendeinem Grund war es nicht zu finden
active_support
lib, obwohl es installiert wurde. (Vielleicht wegen mir mit gefrorenen Schienen).In meinem Fall, die Lösung zu nutzen, um den absoluten Pfad für active_support in meinem
ctl-Datei (z.B.
lib/daemons/mailer_ctl
).Ich brauchte, um zu ändern, die Linie 5 aus:
zu