Ruby Daemons non si avvia
Domanda
Sto usando la gemma di daemon di rubini per creare un demone personalizzato per il mio progetto di rotaie. L'unico problema è che quando provo ad avviare i demoni ruby ??lib / daemons / test_ctl start
questo fallisce e non si avvia. Il file di registro ha questo output.
# 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>
Succede anche quando generi un demone (dal plugin rails) e provo ad eseguirlo. Qualcuno sa come risolvere questo problema?
Soluzione
OK, ho effettivamente trovato la risposta a questo problema. Ho bisogno di due file personalizzati in config / environment.rb
. Ho usato nomi di percorso relativi e poiché i demoni vengono eseguiti nella directory principale delle rotaie, non è stato possibile trovare questi due file. dopo averli resi un percorso assoluto, ha risolto il problema.
Altri suggerimenti
Ho appena trascorso 30 minuti a cercare di risolvere un errore simile quando cercavo di far funzionare il plugin daemon:
LoadError: no such file to load -- active_support
Per qualche motivo, non ha trovato la libreria active_support
, anche se è stata installata. (Forse a causa della mia presenza di binari congelati).
Nel mio caso, la soluzione era utilizzare il percorso assoluto per active_support nel mio
file ctl (ad es. lib / daemons / mailer_ctl
).
Ho dovuto cambiare la linea 5 da:
require 'active_support'
a
require './vendor/rails/activesupport/lib/active_support.rb'