【问题标题】:How do we fetch real time messages from RabbitMQ queue without having any delay in .NET?我们如何从 RabbitMQ 队列中获取实时消息而不会在 .NET 中出现任何延迟?
【发布时间】:2020-01-02 05:07:04
【问题描述】:

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

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

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

任何指针都将不胜感激。

【问题讨论】:

标签: c# .net rabbitmq


【解决方案1】:

我猜你不是在谈论真正的实时,而是尽可能快地获取消息。

这是通过在 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);

【讨论】:

  • 是的,尽快收到消息。我们需要在哪里添加这段代码?
  • 把它放在你设置与 RabbitMQ 通信的地方
猜你喜欢
  • 2019-06-27
  • 1970-01-01
  • 2016-06-06
  • 1970-01-01
  • 1970-01-01
  • 2019-12-08
  • 1970-01-01
  • 2011-05-25
  • 1970-01-01
相关资源
最近更新 更多