Я использую RabbitMq в качестве одностороннего транспорта для обмена темой
Я настраиваю тайм-ауты для использования внешнего менеджера под названием «timeout.queue» в RabbitMq (который мне пришлось создать вручную):
configurer.UseExternalTimeoutManager("timeout.queue")
Вот как отправить сообщение для отсрочки:
var timeToSchedule = TimeSpan.FromSeconds(timeToScheduleInSeconds);
var headers = new Dictionary<string, string>
{
{ Headers.DeferredRecipient, "demo.consumer" },
{ Headers.ReturnAddress, "demo.consumer" }
};
await _bus.Defer(timeToSchedule, new EntityScheduled(), headers);
Проблема заключается в том, что когда я откладываю сообщение, оно просто сохраняется в очереди тайм-аута и пересылка не происходит.
Я тоже играл с заголовками, но не добился успеха.
"demo.consumer" - очередь, связанная с моим предполагаемым обменом темами "defer.topic"