我正在尝试在heroku上运行delayed_job,但它似乎没有工作。所以我进入了heroku控制台,看看下面会发生什么:
Delayed::Job.find(:last)
这是我回来的:
=> #<Delayed::Job id: 241, priority: 0, attempts: 22, handler: "--- !ruby/struct
:SomeMailJob \ncontact: !ruby/object...", last_error: "undefined method `subject
' for #<YAML::Object:0x2ab...", run_at: "2010-09-20 05:26:52", locked_at: nil, f
ailed_at: nil, locked_by: nil, created_at: "2010-09-10 03:31:05", updated_at: "2
010-09-17 23:25:26">
我不知道该如何处理...我不知道这个YAML对象是什么或为什么它未定义....我怎样才能开始更好地钻取?
答案 0 :(得分:4)
查看perform
中的SomeMailJob
方法。这会给你更多线索。您可能还需要打印last_error
以获得完整的堆栈跟踪。 puts Delayed::Job.find(:last).last_error
将为您完成。
您还可以加载处理程序对象:
handler = YAML.load(Delayed::Job.find(:last)).handler
获得对象后,您可以按照自己的方式使用它。