Ruby on rails 当Sidekiq将作业排队或已停止处理作业时,如何通知我?
我在Heroku上,因为我的redis数据库太满了,所以出现了一个错误。my sidekiq进程停止工作。就这样过了一天,直到我意识到这一点。现在我有600多份工作要处理,但现在他们正在破坏一切。当sidekiq无法处理作业或排队开始满员时,我如何发出警报?您可以在时间表上设置一个rake任务来检查sidekiq的统计数据,然后采取适当的措施(如发送电子邮件) 我已经为Sidekiq创建了自己的模块,其中包含帮助器方法,用于多种用途,例如删除作业、检查队列、根据特定条件检索作业等 出于您的目的,获取sidekiq统计数据如下:Ruby on rails 当Sidekiq将作业排队或已停止处理作业时,如何通知我?,ruby-on-rails,ruby-on-rails-3,sidekiq,Ruby On Rails,Ruby On Rails 3,Sidekiq,我在Heroku上,因为我的redis数据库太满了,所以出现了一个错误。my sidekiq进程停止工作。就这样过了一天,直到我意识到这一点。现在我有600多份工作要处理,但现在他们正在破坏一切。当sidekiq无法处理作业或排队开始满员时,我如何发出警报?您可以在时间表上设置一个rake任务来检查sidekiq的统计数据,然后采取适当的措施(如发送电子邮件) 我已经为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进行监控,你可以使用sidekiq_queue_zabbix模板。此模板支持在sidekiq队列大小大于一个指定的限制数时显示图形和发送警报您正在使用哪个数据库?