我正在使用rebus 6.6.4.0,Rebus.RabbitMq 7.3.5.0,我试图通过消息处理程序中每个线程的名称来标识它们。我认为它们在默认情况下总是被命名为Rebus 1 worker 1,但实际上我看到许多线程没有名称,而且据我所知,线程池中的线程可能具有任何ManagedThreadId,并且已经没有名称了。在我的用例中,我希望识别一个工作人员,以允许它处理消息类型,而其他工作人员则使用Failfast。那么,是否有办法识别rebus工作人员/线程?
发布于 2022-07-26 21:33:50
我认为它们在默认情况下总是被命名为Rebus 1 worker 1,但实际上我看到许多线程没有名称,而且据我所理解,线程池中的线程可能有任何ManagedThreadId,而且已经没有名称了。
您完全正确: Rebus的worker线程有很好的名称,但是在第一个await之后(通常在接收到来自传输的消息时),代码很可能由线程池线程执行,因此名称将不再由Rebus控制。
在我的用例中,我希望标识一个工作人员,以便它处理消息类型,而其他工作人员则使用Failfast。那么,是否有办法识别rebus工作人员/线程?
你能告诉我更多关于你的用例吗?也许有更好的方法来做你想做的事.
https://stackoverflow.com/questions/73060372
复制相似问题