使用MassTransit中的随机数据安排重复发送的消息

时间:2016-12-13 16:40:26

标签: c# rabbitmq quartz-scheduler masstransit

我想在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()只是第一次被调用。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

预定的消息就是预定的消息 - 在交付时不会以任何方式对其进行修改。

如果您需要生成随机数据或修改消息内容,我建议您安排一个单独的重复消息,例如GenerateAndSendCommand,并创建一个接收该消息的消费者,然后发送在生成并插入随机数据等之后,对配置的使用者实际CommandWithRandomData