我们如何从 RabbitMQ 队列中获取实时消息而不会在 .NET 中出现任何延迟?



我编写了代码来从队列中获取消息RabbitMQ并通过添加任务调度程序每 5 分钟执行一次该程序。

但是,这不是实时处理。它有5分钟的延迟。

我想让它实时处理。就像有人在队列.NET程序中添加消息一样RabbitMQ应该立即选择它进行进一步处理。

任何指针将不胜感激。

我想你说的不是真正的实时,而是尽快得到消息。

这是通过在RabbitMQ中使用EventingBasicConsumer来完成

的。
var consumer = new EventingBasicConsumer(model);
consumer.Received += (ch, ea) =>
{
try
{
var body = ea.Body;
var message = Encoding.UTF8.GetString(body);
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
};
channel.BasicConsume(queueName, false, consumer);

最新更新