延迟消费

A delayed Consume

是否可以延迟消费队列中的项目?

有一个重试功能,我可以设置间隔,但我需要延迟第一次使用该项目。

编辑

我在这里看到的: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.

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

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

我建议使用它而不是自己构建它。

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

SchedulePublish() 没问题,但如果您知道消息的去向,则首选 ScheduleSend() 到特定端点。