while :
do
let sum=0
let errors=$(redis-cli llen resque:failed)
for s in $(redis-cli keys resque:queue:*)
do
let sum=$sum+$(redis-cli llen $s)
done
echo $sum jobs queued, with $errors errors
sleep 1 # sleep 1 second, probably want to increase this
done
3条答案
按热度按时间h6my8fg21#
是的,如果您使用的是Resque gem:
将返回哈希值
例如g/ =〉
因此,要获取失败的作业计数,只需用途:
在我的示例中,它将给予=〉8761 #
要获取队列,请用途:
这将返回一个数组
例如/ =〉
然后,您可以找到每个队列的作业数:
例如/
Resque.size("superQ")
或Resque.size(Resque.queues[0])
......odopli942#
下面是一个bash脚本,它将监视排队的作业总数和失败的作业数。
这适用于Resque 1.X,2.0可能有不同的键名。
axr492tv3#
还有一个方法
Resque.queue_sizes
,它返回队列名称和大小的散列请求队列大小=〉{“默认”=〉0,“慢”=〉0}