Rubi Daemons não será iniciado
Pergunta
Eu estou usando o gem daemons Ruby para criar um daemon personalizado para o meu projeto rails. O único problema é que quando eu tento iniciar os daemons ruby lib/daemons/test_ctl start
que ele falhar e não será iniciado. O arquivo de log tem esta saída.
# 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>
Ele mesmo acontece quando eu gerar um daemon (dos trilhos plugin) e tentar executá-lo. Alguém sabe como resolver este problema?
Solução
OK, eu realmente encontrei a resposta para este problema. I exigem dois arquivos personalizados no config/environment.rb
. Eu usei nomes de caminho relativos e porque os daemons são executados nos trilhos diretório principal não poderia encontrar esses dois arquivos. depois de fazer-lhes caminho absoluto que corrigiu o problema.
Outras dicas
Eu só passou 30 minutos tentando resolver um erro semelhante quando tentar obter daemons de plugin de trabalho:
LoadError: no such file to load -- active_support
Por alguma razão, não foi encontrando active_support
lib, apesar de ter sido instalado. (Talvez devido a mim ter trilhos congelados).
No meu caso, a solução para esse era usar o caminho absoluto para active_support na minha
arquivo CTL (por exemplo lib/daemons/mailer_ctl
).
Eu precisava mudar a linha 5 de:
require 'active_support'
para
require './vendor/rails/activesupport/lib/active_support.rb'