c# - Redis MQ队列深度监控

标签 c# asp.net redis servicestack

在我目前从事的一个项目中,我们正在使用 Redis / ServiceStack Message Queue组合。有时这些队列会变得“拥塞”,因为某些消息需要相当长的时间才能由后端处理。

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

我将如何深入队列并检索待处理/死消息的数量?

谢谢!

最佳答案

MqStats服务于Reusability示例项目展示了如何内省(introspection)并提供所有 Redis MQ 的概述,而 MqDump服务展示了如何内省(introspection)单个 DTO 类型的消息。

Redis MQ 只是 Redis 服务器端列表,对于每个请求 DTO 都是唯一的,其格式为 mq:{DtoName}:{MQType},例如:

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

您可以简单地对上述列表使用 Redis 列表操作来计算每个 mq(也称为列表)中的消息数量,并通过将其反序列化为可重复使用的 Message 来内省(introspection)每条消息CreateMessage方法做。

关于c# - Redis MQ队列深度监控,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20680070/

相关文章:

c# - 如何从数据库重新加载相同的值

asp.net - 解释一下这个不起眼的 ASP.NET bug

redis - redis缓存超时错误

Python使用类似于模拟补丁的技术缓存内部调用

c# - 二进制搜索算法 : Text File for each record in array

c# - 线程示例

c# - 如何将位图图像从自定义程序集返回到 SSRS 报告?

c# - 错误: Caught exception [ERROR: Unsupported command [addSelection |]

c# - 仅使用数字时是否应该设置字符集/代码页?

node.js - 使用 redis 和 node.js 存储快速分析