【问题标题】:How long will Rails sidekiq retry jobs for?Rails sidekiq 将重试作业多长时间?
【发布时间】:2017-03-07 16:41:15
【问题描述】:

由于某些逻辑错误,我的 sidekiq 作业失败。该作业将重试多少次?失败的工作去哪儿了?失败的作业会放回redis的队列中吗?

另外,sidekiq 流程到底是什么? sidekiq 如何启动一个进程来使作业入队,而另一个进程使作业出队?高层发生了什么?

【问题讨论】:

    标签: sidekiq


    【解决方案1】:

    并非所有问题的答案,但一些有用的信息:

    1. 来自 sidekiq Wiki:“如果您在 25 次重试(大约 21 天)内未修复错误,Sidekiq 将停止重试并将您的作业移至死作业队列。您可以修复错误并重试在接下来的 6 个月内随时使用 Web UI 手动作业...." - (https://github.com/mperham/sidekiq/wiki/Error-Handling#best-practices)

    2. 如果您想在 you-domain/sidekiq(或您设置的任何位置)实时监控作业,请阅读如何设置路线:https://github.com/mperham/sidekiq/wiki/Problems-and-Troubleshooting#sidekiq-web-does-not-render-correctly-in-production-but-works-fine-in-development

    3. 为了终止开发中失败的作业,我从 rails 控制台运行 $redis.flushdb。不过,这将取消所有排队的作业。我从来不需要杀死一个人,但我相信这是有可能的。

    4. 您可以通过此 Wiki 页面中的选项配置作业重试:https://github.com/mperham/sidekiq/wiki/Error-Handling#configuration 例子: sidekiq_options :retry => 5 # Only five retries and then to the Dead Job Queue

    5. 为了避免出现多个入门级问题,请阅读最佳实践页面:https://github.com/mperham/sidekiq/wiki/Best-Practices 特别注意点:2。使您的工作具有幂等性和事务性

    总的来说,他们有非常好的 wiki,可以回答大多数问题。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 2018-06-02
    • 2021-01-21
    • 1970-01-01
    • 2020-12-13
    相关资源
    最近更新 更多