如何使用RabbitMQ启用流量控制

g6baxovj  于 2022-11-08  发布在  RabbitMQ
关注(0)|答案(1)|浏览(143)

有没有人知道如何在C#中启用RabbitMQ流控制?2我尝试了类似的方法:

channel = connection.CreateModel();
    channel.ChannelFlow(true);
    channel.FlowControl += new RabbitMQ.Client.Events.FlowControlEventHandler(channel_FlowControl);

基本上,当RabbitMQ连接进入流控制模式时,我希望触发“channel_FlowControl”事件-但不知何故,这并没有发生。
有人知道我该如何正确处理吗?
先谢谢你

lmvvr0a8

lmvvr0a81#

好吧,在和RabbitMQ的真的很好的人讨论了一下之后,答案很容易。
"你不能"
在C#驱动程序中没有可用的回调函数,因此推荐的方法是使用一个小型的内部异步预队列,并将您的内容放在其中,同时使用一个异步线程读取该队列并将其发布到Rabbit。
这样,当rabbit慢下来,你也需要慢下来输入时,你会注意到,因为内部队列增长了,你可以检测到这种增长并相应地采取行动。
再次感谢RabbitMQ邮件列表中那些乐于助人的人,即使这不是我想要听到的回复;- )

相关问题