我正在使用 NServiceBus 将订单(每个命令一个订单)发送到后端系统。每个订单都有一个客户(父级)。订单保存成功后,后台系统会发布“订单接受”事件。此事件有多个订阅者,其中一个是文件生成器组件,它生成要由第三方使用的 XML 文件。该文件是按客户生成的。由于每次发布“订单已接受”事件时发布的事件都处于订单级别,因此文件组件会为客户创建整个文件。
NServiceBus 中是否有办法在订阅者处对事件进行分组,以便在同一客户有多个订单时减少文件生成器的运行次数?
我们的一个想法是让订阅者休眠一段固定时间,当它醒来时,它可以按客户对队列中的消息进行分组,并为每个客户生成一次文件。这听起来是个好主意吗?
提前致谢。