MassTransit - 在路由单上优先考虑 RabbitMQ 消息

MassTransit - Prioritize RabbitMQ Message on Routing Slip

RabbitMQ支持的消息优先级:https://www.rabbitmq.com/priority.html

MassTransit 允许用户在配置端点和 sending/publishing 一条消息时进行设置。

问题:在 MassTransit 中使用 Routing Slip 时是否可以设置消息优先级?

我的问题:我们有一个屏幕可以安排项目或立即处理它们。如果计划,项目可以分批处理。如果同时处理数百个项目,在屏幕上保存一条记录可能需要几分钟,因为消息会排到队列末尾,这可能会导致糟糕的用户体验。

那么,如果无法设置优先级,这里有什么替代方法?

谢谢!

你最简单的选择?设置您的 activity 服务,以便它们托管两个端点,一个用于执行(任何内容,包括批处理),一个用于 execute-interactive,您在它是交互式请求时使用。当您构建传送名单时,为 activity 执行使用适当的队列,然后您就可以 运行 了。批处理不会干扰,因为它位于一组单独的端点上。

Your other option is a lot harder, and would involve creating send middleware that looks for RoutingSlip and checks some value and sets the priority.