如何获取正在处理的消息总数

时间:2015-02-09 16:09:50

标签: nservicebus

我们有一个应用程序,它由许多NSB工作程序组成,每个工作程序处理一条消息,做一件小事,然后排队等待下一条消息(非常微服务)。

由于各种原因(主要与稳定的端到端自动化测试相关),我想:

  1. 停止处理任何新消息
  2. 等待所有当前处理的消息完成处理
  3. 清除队列(以及为了运行下一个测试而站起来的测试环境)
  4. 重新启动邮件处理。
  5. 1,3和4我现在通过ITransport.SetMaximumConcurrencyLevel工作,但我不确定如何处理#2。有没有办法让NSB告诉我有多少线程正在积极处理消息,所以我可以基于此等待(或超时)?

1 个答案:

答案 0 :(得分:0)

如果仅用于终端2端测试和验收测试,我更喜欢使用内置的验收测试框架。请查看此博客文章了解所有详细信息: https://roycornelissen.wordpress.com/2014/10/25/automating-end-to-end-nservicebus-tests-with-nservicebus-acceptancetesting/