我正在使用NSB 4.4.2 我希望在我的传奇上有类似心跳的东西来显示处理统计数据。 当我请求超时时,它会发送到sagas输入队列。 如果此超时消息之前有许多消息,则可能不会在特定时间触发IHandleTimeouts。 这是一个错误吗?或者我如何使用单独的队列来发送超时消息?
由于
答案 0 :(得分:1)
你是对的 - 当准备好分派超时时,它被发送到端点的传入队列,如果那里已经有很多其他消息,它将不得不等待轮到它被处理。 / p>
您可能想要考虑的另一件事是,当时端点可能已关闭。
如果您想保证在超时时间(或非常接近)调用您的传奇代码,则需要先设置高可用性部署。然后,您应该查看设置该端点所需的SLA - 应该如何快速处理消息,然后监视违反SLA性能计数器的时间。
有关详细信息,请参阅此处:http://docs.particular.net/nservicebus/monitoring-nservicebus-endpoints
您应该准备好根据需要扩展您的终端,以保证足够的处理能力,以跟上负载。
注意:我们使用相同的传入队列来处理这些超时的原因是设计。超时消息几乎总是与saga处理的其他业务消息相同或更低。因此,将它们排在其他消息之前是没有意义的。
答案 1 :(得分:0)
超时被发送到[endpointname] .timeouts