首页 > 解决方案 > sidekiq 工作人员在运行一段时间后卡住了

问题描述

我最近一直在测试一些代码,我发现自己处于一个奇怪的境地。让我试着解释一下。我有多段代码(超过 500 段)执行以下操作: - 解析字符串 - 解析 JSON - 解析数组 - 通过 Faraday 运行 HTTP/HTTPS 请求

基本上,它们都在后台协同工作以提取和解析数据。

我有一个 30/40 的 sidekiq 工作人员,他们工作得很好。在某些时候,工人会随机(但通常在 1 天后)卡住。它们通常需要 1 秒到 1 分钟,在某些时候,HTTP/HTTPS 工作人员会卡住并持续很长时间,系统会变得越来越慢。

我从不同的地方读过: - https://github.com/mperham/sidekiq/issues/862(HenleyChiu于 2013 年 10 月 5 日发表评论 - 以及其他一些) - https://github.com/mpowered/sidekiq-唠叨

有时 Sidekiq 工作人员会卡住,如果发生这种情况,人们正在编写代码(或黑客)来重新启动 Sidekiq。你们是否发现 Sidekiq 存在同样的问题,尤其是在后台作业与 HTTP/HTTPS 请求相关的情况下?

所以我的问题是:

任何人都有一些想要分享的代码示例或关于如何修复它的一些想法?

ensure
        ActiveRecord::Base.clear_active_connections!
        ActiveRecord::Base.connection.close

非常感谢您,我期待您的回音。

标签: ruby-on-railsrubysidekiqworkersidekiq-monitor

解决方案


推荐阅读