当使用 ActiveJob
和 Sidekiq
作为适配器时,我想限制作业失败时的重试
次数。
使用 Sidekiq,我可以做到:
class LessRetryableWorker
include Sidekiq::Worker
sidekiq_options :retry => 5
def perform(...)
end
end
Sidekiq 配置不提供全局 retry
配置。每个 Worker 负责设置 retry
选项。所以我想我必须在 ActiveJob 端实现它才能正确执行。
最佳答案
Sidekiq
提供服务器级配置来处理这种情况。
来自 Sidekiq
ruby-doc:
Sidekiq.configure_server do |config|
config.server_middleware do |chain|
chain.add Middleware::Server::RetryJobs, :max_retries => 7
end
end
关于ruby - 如何使用 ActiveJob 和 Sidekiq 限制失败的作业重试计数器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28214334/