У меня проблема с использованием Delayed::Job 2.1.4
в очень простом классе:
class C2dmJob < Struct.new(:msg)
def perform
# doing something
end
end
В начале я поместил этот класс в каталог lib
, но переместил его в каталог моделей для целей тестирования. При запуске: Delayed::Job.enqueue C2dmJob.new('foo')
я получаю следующую запись, хранящуюся в таблице Delayed::Job
:
0, обработчик: "---! Ruby / struct: C2dmJob \ nmsg: foo \ n", last_error: nil,
run_at: "2011-07-21 10:56:58", locked_at: ноль, failed_at: ноль,
locked_by: nil, creation_at: "2011-07-21 10:56:58", updated_at:
"2011-07-21 10:56:58">
И задание не выполняется со следующим сообщением об ошибке:
[Worker (host: xxx pid: 2660)] Ошибка C2dmJob с
NoMethodError: у вас есть нулевой объект, когда вы этого не ожидали! Вы
возможно, ожидал экземпляр массива. Ошибка произошла во время
оценка nil.each - 1 неудачная попытка
Что вы думаете не так? Я подозреваю что-то связанное с сериализацией, но понятия не имею, что именно!
Спасибо!