无法在此找到任何解释。
正如我对兔子的理解,消息接收消息的简单示例N C#消费者看起来像:
var factory = new ConnectionFactory() { HostName = "localhost" };
using (var connection = factory.CreateConnection())
using (var channel = connection.CreateModel())
{
channel.QueueBind("Testing", "DefaultExcange", "Testing");
var consumer = new EventingBasicConsumer(channel);
consumer.Received += (model, ea) =>
{
var body = ea.Body;
...
...
channel.BasicAck(ea.DeliveryTag, false, false);
};
channel.BasicConsume(queue: "Testing", autoAck: false, consumer: consumer);
}
它将立即收到任何消息,如果我删除了基本数据,则消息将一遍又一遍地返回到队列直到被确认为止。
我想做的是为此添加一个计时器。如果未确认消息,我需要等待30秒钟才能为此消息进行下一个确认尝试。没有发现与此问题有关的任何内容,但我敢肯定这是常见的。我该怎么做?
兔子团队监视此邮件列表,有时只能在stackoverflow上回答问题。
您应该使用延迟的消息交换插件:
https://www.rabbitmq.com/blog/2015/04/16/scheduling-messages-with-rabbitmq/
请注意,这是一个社区插件,默认情况下不使用RabbitMq。