gpt4 book ai didi

ruby - 您如何监控 sidekiq 进程?

转载 作者:数据小太阳 更新时间:2023-10-29 08:02:46 31 4
gpt4 key购买 nike

我正在开发一个在 nginx 负载均衡器后面有多个 Rails 服务器的生产应用程序。我们正在使用 monit 监控 sidekiq 进程,它工作得很好——当 sidekiq 进程结束时,monit 会立即启动它。

然而最近遇到这样一种情况,其中一个进程正在运行并且对 monit 可见,但由于某种原因对 sidekiq 不可见。这导致许多作业失败,我们花了一些时间才注意到我们在 sidekiq Web UI 中缺少一个进程,因为 monit 告诉我们一切都很好并且所有进程都在运行。简单的重启解决了这个问题。

这让我想到了我的问题:您如何监控您的 sidekiq 流程?我知道我可以使用 rollbar 之类的东西在作业失败时通知我,但我想知道是否有一种方法可以监控进程计数,最好是在进程停止时发送邮件。有什么建议么?

会 ping sidekiq/stats 并验证响应的东西。

最佳答案

我对类似问题的 super 简单解决方案如下所示:

# sidekiq_check.rb
namespace :sidekiq_check do
task rerun: :environment do
if Sidekiq::ProcessSet.new.size == 0
exec 'bundle exec sidekiq -d -L log/sidekiq.log -C config/sidekiq.yml -e production'
end
end
end

然后使用 cron/whenever

# schedule.rb
every 5.minutes do
rake 'sidekiq_check:rerun'
end

关于ruby - 您如何监控 sidekiq 进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40992803/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com