我将作业添加到延迟的作业中,但是当我运行它时,出现NoMethod错误
Delayed :: Job.last => #Delayed :: Backend :: MongoMapper :: Job _id:BSON :: ObjectId('5266f28aa1cba6257b000001'),尝试次数:0,created_at:Tue,22 Oct 2013 23:47:54 CEST +02 :00,failed_at:nil,handler:“ ---!ruby / struct:Delayed :: PerformableMethod \ nobject:!ruby / object:Module {} \ n \ n方法::notify_all_with_review_reminder_due!\ nargs:[] \ n \ n ”,last_error:无,locked_at:无,locked_by:nil,优先级:75,run_at:星期二,2013年10月22日23:47:54 CEST +02:00,updated_at:星期二,2013年10月22日23:47:54 CEST + 02:00>
Delayed :: Job.last.invoke_job NoMethodError:未定义的方法'notify_all_with_review_reminder_due!' 为#Module:0x124781cf0>
看起来他无法序列化正确的对象(它是一个模块)。谷歌搜索我发现建议在config / inizializers中需要该模块,但这对我不起作用。
任何想法?
我遇到了类似的问题,在撰写本文时,除了“ require”之外,我没有找到其他解决方案,但是在我的情况下,我试图将模块类排队,所以我只用类包装了它,现在它工作了。之前:
module GlobalModule
def self.some_method
end
end
延迟::作业失败,调用时出现类似错误 GlobalModule::delay.some_method
后:
module GlobalModule
class Wrapper
def self.some_method
end
end
end
GlobalModule::Wrapper.delay.some_method
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句