使用RabbitMQ有一种使用方法,类似于MSSMQ,可以从队列中弹出1000条消息,然后将其插入数据库并从那里继续。RabbitMQ和C#
我似乎无法做到这一点与一个渠道的订阅,然后对订阅中的BasicDeliveryEventArgs做一个foreach,用这个if语句在给定的时间处理我想要处理的最大消息数。
预先感谢 然而,这仍然需要从队列
using (IConnection connection = factory.CreateConnection())
{
using (IModel channel = connection.CreateModel())
{
channel.QueueDeclare("****", true, false, false, null);
var subscription = new Subscription(channel, "****", false);
int maxMessages = 5;
int i = 0;
foreach (BasicDeliverEventArgs eventArgs in subscription)
{
if (++i == maxMessages)
{
Console.WriteLine("Took 5 messages");
subscription.Ack(eventArgs);
break;
}
}
}
}
我不明白这个问题,特别是“与那做一个if语句”部分。你能澄清一下吗? –
更新了帖子 – user1053237
对我仍然没有意义。你想达到什么目的? –