【发布时间】:2014-10-25 13:26:14
【问题描述】:
我创建 sidekiq worker 如下并执行它
require 'sidekiq'
class HardWorker
include Sidekiq::Worker
sidekiq_options :queue => 'crawler'
def perform(name, count)
logger.info "#{name}: #{count}"
puts 'Doing hard work'
puts 1/0
end
end
然后,通过运行此代码将作业排入队列:
Sidekiq::Client.push({'class' => 'HardWorker', 'queue' => 'crawler', 'args' => ['name 1', 1], 'retry' => 1})
当然,sidekiq worker 会因为 1/0 抛出异常。但是重试一次后,我在sidekiq web ui的死工作中看不到这个工作。
那么任何人都可以解释我或为此提供任何想法。
谢谢
【问题讨论】:
-
来自维基:best practices Sidekiq 在尝试运行 25 次后会将作业移至死队列。不是在那之前。
-
Vinay,Sidekiq 会在重试次数用尽时将其移至 DJQ。他显然将其配置为仅使用 1 次重试。
-
sidekiq 日志说什么?
-
啊,我的错。没有看到推送参数
-
感谢@MikePerham,通过查看日志文件中的错误,我找到了正确的问题