使用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
對我仍然沒有意義。你想達到什麼目的? –