c# - Bloomberg APIv3 返回缓慢的消费者警告

标签 c# api bloomberg

我根据API 3.2.9.0的例子SubscriptionWithEventHandlerExample用c#写了一个程序。在为实时数据订阅了大约 500 种证券后,我收到了一些声称 SlowConsumerWarningSlowConsumerWarningCleared 的管理事件警告。我在某处读到它引入了一些延迟,直到我处理所有事件。

问题是在我的代码中我只收到来自 bloomberg 的回调。事件队列甚至不在我的程序中!

我尝试过的一些事情:

  1. 提高队列限制,在session选项中设置MaxEventQueueSize(好像没有效果)

  2. 看看我是否收到任何超时事件(不,我没有收到任何超时事件)

  3. 创建多个 session 并在每个 session 中订阅 50 股证券(现在我收到多个警告,每个线程一个)

有什么我可以做的或者这种行为超出了我的范围吗?

最佳答案

您可以在专用线程中处理数据,只让 Bloomberg callbacks 对数据进行排队。您的数据处理线程将从队列中读取数据并执行任何耗时的工作。这可能会解决您的问题,具体取决于触发 SlowConsumerWarning 的原因。但是,如果您处理数据的代码太慢,您的队列会随着时间的推移而填满。

关于c# - Bloomberg APIv3 返回缓慢的消费者警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2602126/

相关文章:

c# - 我的 MVC4 路由、参数、构造函数有什么问题?

C# HttpListener 和 Windows 防火墙

javascript - 使用 Axios 获取 XML 数据

python - 使用 Flask 创建 RESTful API?

R:Rbbg 覆盖错误(债券的报价类型)

bloomberg - 如何从 isin 而不是股票行情请求数据

c# - 参数化 DllImport 以在 C# 应用程序中使用

c# - 为什么默认的字符串比较器无法保持传递一致性?

api - Stripe 允许给客户钱吗?

c++ - 在 MFC 中实现多线程以更新外部函数可访问的内部字典