gpt4 book ai didi

ruby-on-rails - 如何检查sidekiq是否启动?

转载 作者:行者123 更新时间:2023-12-04 03:44:58 35 4
gpt4 key购买 nike

我正在使用带有 Rails 3 的 Sidekiq Gem。有没有办法查看 sidekiq 工作人员是否准备好处理工作?我们要确保这些东西不仅仅是排队并坐在那里。我试过这样的事情......

stats = Sidekiq::Stats.new
puts stats.queues

但这将始终返回 default => 0,如果 redis 已启动,即使 sidekiq 尚未准备好处理作业。

最佳答案

首先,您的工作进程应该正在运行。检查这个:

ps = Sidekiq::ProcessSet.new
ps.size # => 2
ps.each do |process|
p process['busy'] # => 3
p process['hostname'] # => 'myhost.local'
p process['pid'] # => 16131
end
ps.each(&:quiet!) # equivalent to the USR1 signal
ps.each(&:stop!) # equivalent to the TERM signal

来自 https://github.com/mperham/sidekiq/wiki/API#processes

所以如果他们这样做 - 你可以排队更多的工作。当您的工作进程正在工作时,任务可以保留在队列中的唯一情况是当工作进程处理作业的速度比它们进来的速度慢时。然后您的队列将增长,并且在所有先前的作业完成之前不会处理新入队的任务。但是,您有责任弄清楚为什么您的员工表现缓慢。

希望有帮助!

关于ruby-on-rails - 如何检查sidekiq是否启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22540353/

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