Delayed_job запускает одно и то же задание несколько раз? - PullRequest
2 голосов
/ 12 февраля 2010

Я уже некоторое время использую delayed_job без проблем; в основном для очередей вызовов ActionMailer (Notifier.send_later ...). В последнее время он рассылает случайные множественные электронные письма от одной и той же работы. Я поставлю в очередь одно электронное письмо и получу его пять раз, один или два раза одновременно. Я перезапустил delayed_job, и он, кажется, ведет себя немного. Кто-нибудь испытывает это?

Это мой журнал; Я никогда раньше не видел этих ошибок ...

# 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>

Ответы [ 2 ]

2 голосов
/ 12 февраля 2010

При развертывании новой версии вашего приложения обязательно убейте всех работников DJ и запустите только 1 (или сколько хотите - начните с 1, чтобы устранить эту проблему).

ps -ef | grep delayed_job
1 голос
/ 19 декабря 2017

У меня была такая же проблема, когда я проверил свою очередь, я обнаружил, что у меня была ошибка в работе, и диджей пытался снова и снова запускать эту работу.

...