2013-12-19 51 views
2

在我目前正在从事的一个项目中,我们正在使用Redis/ServiceStack Message Queue组合。有时这些队列会“拥塞”,因为某些消息在后端处理需要一段时间。Redis MQ队列深度监测

因此,我想在管理系统中创建一个“概览”/“监视”面板,该面板由ASP.net WebForms编码,以避免与我联系的人告诉他们队列是否拥塞。

我将如何去潜入队列并检索未决/死亡消息的数量?

谢谢!

回答

3

示例项目中的MqStats服务显示如何反思并提供所有Redis MQ的概述,而MqDump服务显示如何反思单个DTO类型的消息。

Redis的MQ的是特有的每一个请求DTO其采取mq:{DtoName}:{MQType}格式,如只是Redis的服务器端列表:

mq:RequestDto:inq 
mq:RequestDto:priorityq 
mq:RequestDto:outq 
mq:RequestDto:dlq 

您可以简单地使用Redis的列表操作对上述名单计数每个mq(又名列表)中的消息数量,并通过将其反序列化为Message来反省每个消息,您可以重新使用CreateMessage方法执行此操作。