我想在MassTransit中安排重复消息,但每次将消息发送到队列时我都要生成相同的随机数据。
现在我有这样的代码
var scheduleEndPoint = await _bus.GetSendEndpoint(new Uri($"{BusConstants.RabbitMqUri}/quartz"));
await scheduleEndPoint.ScheduleRecurringSend(
new Uri($"{BusConstants.RabbitMqUri}/{ConfigurationManager.AppSettings["ArticlesImportServiceQueue"]}"),
new ArticlesImportRecurringSchedule(),
ArticlesImportNotificationMapper.MapFromFile());
问题是ArticlesImportNotificationMapper.MapFromFile()
只是第一次被调用。有什么建议吗?
答案 0 :(得分:1)
预定的消息就是预定的消息 - 在交付时不会以任何方式对其进行修改。
如果您需要生成随机数据或修改消息内容,我建议您安排一个单独的重复消息,例如GenerateAndSendCommand
,并创建一个接收该消息的消费者,然后发送在生成并插入随机数据等之后,对配置的使用者实际CommandWithRandomData