我编写了代码来从队列中获取消息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);