You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Rails应用中监控特定Sidekiq队列的积压与延迟?

在Rails应用中监控特定Sidekiq队列

在Rails应用里监控Sidekiq队列的状态其实很简单,我们可以通过在config/routes.rb中添加自定义接口,来实现队列积压和延迟这两个核心指标的监控:

1. 监控队列积压

这个配置可以帮你检查队列中的任务积压数量是否超过阈值:

require 'sidekiq/api'
match "queue-status" => proc { [200, {"Content-Type" => "text/plain"}, [Sidekiq::Queue.new.size < 100 ? "OK" : "UHOH" ]] }, via: :get

添加后,访问/queue-status这个GET接口,当队列任务数小于100时会返回OK,超过阈值则返回UHOH,很方便各类监控工具来检测告警,你也可以根据业务需求调整这里的100阈值。

2. 监控队列延迟

如果需要监控队列中任务的等待延迟(也就是最久的任务已经等待了多长时间),可以添加这段配置:

require 'sidekiq/api'
match "queue-latency" => proc { [200, {"Content-Type" => "text/plain"}, [Sidekiq::Queue.new.latency < 30 ? "OK" : "UHOH" ]] }, via: :get

这个/queue-latency接口会在延迟小于30秒时返回OK,否则返回UHOH,同样你可以根据自己的业务场景修改30这个延迟阈值。

内容的提问来源于stack exchange,提问作者raza.sayed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 10:00:08