我已经编写了代码来从RabbitMQ队列中获取消息,并通过添加任务调度程序每5分钟执行一次该程序。
但是,这不是实时处理。它有5分钟的延迟。
我想让它实时处理。当有人在RabbitMQ队列中添加消息时,.NET程序应该立即选择它进行进一步处理。
任何指针都将不胜感激。
发布于 2020-01-02 16:49:58
我猜你说的不是真正的实时,而是尽可能快地获取信息。
这是通过在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);https://stackoverflow.com/questions/59558518
复制相似问题