Pergunta

Eu tenho usado o atraso_job sem problemas há algum tempo; Principalmente para as chamadas de ação do ActionMailer (notificador.send_later ...). Ultimamente, ele envia múltiplos aleatórios de e -mails do mesmo trabalho. Vou fazer fila um e -mail e receberei cinco vezes, ou uma ou duas vezes, tudo ao mesmo tempo. Reiniciei o time_job e parece se comportar um pouco. Alguém experimenta isso?

Este é o meu log; Eu nunca vi esses erros antes ...

# Logfile created on 2010-02-11 by logger.rb
*** below you find the most recent exception thrown, this will be likely (but not certainly) the exception that made the application exit abnormally ***
#<NameError: uninitialized constant Delayed::Worker>
*** 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 -- tmail>
#<SystemExit: exit>
#<NameError: uninitialized constant Delayed::Worker::Merb>
#<NameError: uninitialized constant Merb>
#<NameError: uninitialized constant Delayed::Merb>
#<NameError: uninitialized constant Merb>
#<NameError: uninitialized constant Delayed::Merb>
#<NameError: uninitialized constant Delayed::Worker::Merb>
#<NameError: "Gems::DelayedJob-1.8.4::Lib::Delayed::Worker" is not a valid constant name!>
#<NameError: uninitialized constant Delayed::Worker>
Foi útil?

Solução

Quando você implantar uma nova versão do seu aplicativo, mate todos os trabalhadores de DJ e inicie apenas 1 (ou o mais rápido que você quiser - comece com 1 para depurar esse problema).

ps -ef | grep delayed_job

Outras dicas

Eu estava tendo o mesmo problema, quando verifiquei minha fila, descobri que estava tendo um erro no trabalho e o DJ estava tentando correr repetidamente esse trabalho.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top