我使用EasyNetQ.ManagementClient nuget包来获取兔子的一些统计数据。在Web管理中,您可以看到每个队列的消息率
但是,当使用EasyNetQ.ManagementClient时,我无法为代码中的队列获得相同的速率,是否可以获取它们?
var managementClient = new ManagementClient("http://ipadress", "guest", "guest");
var overview = managementClient.GetOverview();
var publishRate = overview.MessageStats.PublishDetails.Rate; // this is for all queues together
var queues = managementClient.GetQueues();
foreach (var q in queues)
{
// q doesn't have any rates properties
}
提前致谢
答案 0 :(得分:1)
我没有想到这一点,但是在使用OK
nuget包时,我对EasyNetQ.ManagementClient
的兔子api做了一个web请求,然后让JSON回复我需要的所有信息。< / p>
答案 1 :(得分:0)
当您提出问题时,可能在API中没有出现,但是使用最新的EasyNetQ.Management.Client
,您现在可以查询每个队列的统计信息:
...
foreach (var q in queues)
{
Console.WriteLine($"Rate for {q.Name} is {q.MessagesDetails.Rate}");
}