2015-02-09 65 views
0

我们有一个由许多NSB工作人员组成的应用程序,每个工作人员处理一个消息,做一件小事,并排队等待下一条消息(非常微服务)。如何获得当前正在处理的消息总数

由于各种原因(主要是涉及到稳定的终端到终端自动化测试),我想:

  1. 停止处理任何新的消息
  2. 直到所有当前处理消息的完成正在处理
  3. 清除队列(其中包括测试环境,以便下次运行测试)
  4. 重新启动消息处理。

1,3和4我现在通过ITransport.SetMaximumConcurrencyLevel工作,但我不确定如何处理#2。有没有办法让NSB告诉我有多少线程正在处理消息,所以我可以根据这个等待(或超时)?

回答

0

如果是用于端到端测试和验收测试,我更喜欢使用内置的验收测试框架。看看这个博客的所有细节: https://roycornelissen.wordpress.com/2014/10/25/automating-end-to-end-nservicebus-tests-with-nservicebus-acceptancetesting/

+0

这很酷。我将它加入书签以备后用。不幸的是,我们已经有了一个我们正在使用的本土测试流程,虽然我现在可能想调查移动到这个时间,但很难得到时间。 – KallDrexx 2015-02-11 15:16:25

相关问题