今天,Airbrake报告了一个异常。其摘要显示,当Sidekiq在任务失败后尝试重试时,问题就会出现。以下是摘要参数的样式:
{
"retry"=>"true",
"queue"=>"default",
"class"=>"AdwordsReportWorker",
"args"=>"[\"2\", \"2012-11-13\"]",
"jid"=>"51d568e46c412adc327153c8",
"error_message"=>"wrong number of arguments(1 for 0)",
"error_class"=>"ArgumentError",
"failed_at"=>"2012-11-14 13:56:12 UTC",
"retry_count"=>"0",
"controller"=>"",
"action"=>""
}
看起来异常只会在作业失败并重试时发生。我想调试一下,但是我不知道从哪里开始:-(
我的问题是:
- 在什么条件下工作者了解它未能完成工作(从中他决定重试)?如何强制工作者失败,以尝试复现问题?
- 有没有关于调试/示例Sidekiq工作者的好教程?
- 我正在使用 Sidekiq 2.3.3 。升级到新版本是否会解决问题?
奖励曲目。 实际堆栈跟踪意外地结束。
[GEM_ROOT]/gems/activerecord-3.2.8/lib/active_record/associations/association.rb:98:in `initialize'