我们正在实施msmq以快速存储消息并以断开连接模式处理它们。任何消息代理的典型用法。
管理要求之一是,如果队列消息(未处理)计数达到1000,则向管理员/开发人员发送自动通知。
欢迎任何建议或过去的经验..
答案 0 :(得分:1)
有商业解决方案 - QueueMonitor。
免责声明:我是该软件的作者。
修改
此方案的一些提示:
UseDeadLetterQueue
设置为true - 这样一来,如果发送消息有任何问题,至少他们不会丢失,而是转移到系统的死信队列中。Recoverable
属性设置为true - 它确实会降低性能,但对于这种长时间运行的情况,某些重新启动或失败会导致仅丢失消息的风险太大存储在内存中。TimeToReachQueue
自动删除它们。答案 1 :(得分:0)
唯一(部分)内置解决方案是设置 MSMQ队列 performance counter,它为您提供服务器上专用队列的此信息。
还有许多其他解决方案,包括SCOM management pack和某些第三方解决方案,例如evtools,或者您可以使用System.Messaging滚动自己。
希望这有帮助。