延迟消费

时间:2017-04-28 12:17:04

标签: c# rabbitmq masstransit

是否有可能在队列中消耗一些项目有一些延迟?

有一个重试功能,我可以设置间隔,但我需要在第一次消耗该项时延迟。

修改

我在此处看到:https://github.com/MassTransit/MassTransit-Quartz是我实际需要的。

类似的东西:

bus.SchedulePublish(30.Seconds().FromNow, new MyMessage(someId, someValue));

将在30秒后发布消息。

但是我如何构建此解决方案以便检索MassTransit.Quartz.dll?我一直收到错误SolutionVersion.cs could not be found.

1 个答案:

答案 0 :(得分:0)

有一个NuGet包,MassTransit.Quartz,包括程序集。

https://www.nuget.org/packages/masstransit.quartz

我建议您自己使用它来构建它。

此外,如果您在消费者中,您可以使用消费上下文中的扩展方法轻松地将消息发送回自己。请查看文档以获取更新,但ScheduleSend是方法。

SchedulePublish()没问题,但如果您知道邮件的前进位置,则首选ScheduleSend()到特定端点。