0

我们正在运行 Rebus 作为我们批处理系统的骨干。我们有几个队列(即消息类型)可以由多个工作人员处理。每个工作人员只能处理一种消息类型。因此,例如对于 message_1,我们有 2 个工人(工人 1 和工人 2)可以处理此消息。目前,第一个空闲句柄的工作人员将处理该消息。这是默认行为并且工作良好。

我的问题是我是否可以以任何方式设置 Rebus,以便如果消息包含工作人员 ID(例如工作人员 2),则只有该工作人员应该能够处理该消息。如果消息中没有工作人员 ID,则应采用默认行为(见上文)。

4

1 回答 1

1

没有办法(至少目前没有)实现你在这里描述的东西。

如果您对某些消息类型(或某些消息实例)有特殊要求,我建议您将这些消息转发到一个或多个可以处理这些类型消息的特殊端点。

转发可以基于标头完成,因此可以设置为以通用方式工作,而不必能够反序列化消息内容。

如果您告诉我更多关于您要解决的问题是什么,也许我们可以找到一个更优雅的解决方案(或者至少一个可以用 Rebus 更优雅地解决的解决方案)。

于 2014-10-06T11:39:32.757 回答