繁体   English   中英

Sidekiq入队或停止处理作业时如何通知我?

[英]How can I get notified when Sidekiq Enqueues jobs or has stopped processing jobs?

我在Heroku上,并且由于我的Redis数据库太满而出错。 我的sidekiq进程停止工作。 直到一天我才意识到这一点。 现在,我有600多个我试图处理的工作,但现在他们正在打破一切。 当sidekiq无法处理作业或入队开始填满时,如何发出警报?

您可以按计划设置耙任务,以检查Sidekiq的统计信息,然后采取适当的操作(例如发送电子邮件)。

我已经为Sidekiq创建了带有辅助方法的自己的模块,该模块具有多种用途,例如删除作业,检查队列,按特定条件检索作业等。https: //gist.github.com/blotto/10324119

为了您的目的,请获取sidekiq统计信息,例如:

 def sidekiq_stats()
   summary = Hash.new
   stats = Sidekiq::Stats.new
   summary = { processed: stats.processed,
              failed: stats.failed,
              enqueued: stats.enqueued,
              queues: stats.queues}
 end

然后评估排队的值,对您认为过高的值设置公差,然后松开猎犬。

如果您使用zabbix进行监视,则可以在https://github.com/hungntit/sidekiq_queue_zabbix上使用sidekiq_queue_zabbix模板。 此模板支持在sidekiq队列大小大于一个指定的限制数时显示图形并发送警报

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM