I made a program in c# based on the example SubscriptionWithEventHandlerExample
of API 3.2.9.0. After subscribing to about 500 securities for realtime data, I receive some ADMIN event warnings claiming SlowConsumerWarning
and SlowConsumerWarningCleared
. I read somewhere that it introduces some delay, until I process all events.
The problem is that in my code I only receive callbacks from bloomberg. The event queue isn´t even in my program!
Some things that I tried:
raise the queue limit, setting MaxEventQueueSize in the session options (seems to have no effect)
see if I get any timeout event (no, I don't get any)
create multiple sessions and subscribing 50 securities in each (now I get multiple warnings, one for each thread)
Is there something that I can do or this behavior is out of my scope?
You could do the processing of the data in a dedicated thread and only let the Bloomberg callbacks
queue the data. Your data processing thread would read the data from the queue and do any time consuming work. That might solve your problem, depending on what triggers a SlowConsumerWarning
. If your code to process the data is too slow, though, your queue would fill up over time.