gpt4 book ai didi

ruby-on-rails - 以编程方式获取 Resque 队列中的作业数

转载 作者:IT王子 更新时间:2023-10-29 05:54:13 24 4
gpt4 key购买 nike

我有兴趣设置一个监控服务,只要 Resque 队列中的作业太多,它就会传呼我(我有大约 6 个队列,每个队列都有不同的编号)。我还想设置一个非常相似的监控服务,当我的队列中的失败作业超过一定数量时,它会提醒我。

我的问题是,我发现我的 redis 服务器上有很多与 Resque 相关的 key 和混淆。我不一定看到一种直接的方法来计算每个队列的作业数或​​失败的作业数。目前是否有一种简单的方法可以从 redis 中获取这些数据?

最佳答案

是的,这很容易,因为您使用的是 Resque gem :

require 'resque'

Resque.info

将返回一个散列

例如/=>

{
:pending => 54338,
:processed => 12772,
:queues => 2,
:workers => 0,
:working => 0,
:failed => 8761,
:servers => [
[0] "redis://192.168.1.10:6379/0"
],
:environment => "development"
}

因此,要获取失败的作业数,只需使用:

Resque.info[:failed]

这会给=> 8761 #在我的例子中

要获取队列,请使用:

Resque.queues

返回一个数组

例如/=>

[
[0] "superQ",
[1] "anotherQ"
]

然后您可以找到每个队列的作业数:

Resque.size(queue_name)

例如/Resque.size("superQ")Resque.size(Resque.queues[0]) .....

关于ruby-on-rails - 以编程方式获取 Resque 队列中的作业数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11235318/

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