Does EMA API provide a mechanism to reduce the impact of making many subscriptions in quick successi
I need to subscribe to numerous items using EMA Java API, doing this quickly would impact other connections/clients, what's the best way to reduce the impact? Adding sleep between subscriptions is one solution, is there another way?
Best Answer
Answers
-
Hi @Gurpreet.
Thank you for your answer. Am I right in thinking that a single batch request would have very little impact on other streams/clients even if the batch consists of many instruments (e.g. 200k instruments)?
What does the handle returned by registerClient() correspond to when a batch request is used? How do I get the handles for individual instruments? Can I get them in the same thread instead of the callback/dispatch thread?
I had a look at example370__MarketPrice__Batch, it shows how to registerClient(), I'd like to know how to unregister() individual instruments.
0 -
Hi @Gurpreet.
It looks like batch request doesn't support closure objects for individual instruments, right?
0 -
If the batch size is large, it is bound to impact other open streams since the network is getting flooded with new request/responses. This will all depend on the market state and how volatile subscribed instruments are. Once the items are subscribed in the batch, they can still be individually closed. Batch Stream will be closed automatically after server receives a batch request. Consumer application will receive item response on individual streams. To remove subscription for an item, the application needs to get handle of item stream via OmmConsumerEvent,handle() in onRefreshMsg(), and then use the handle in the OmmConsumer.unregister() method.
EMA developer guide which is included with ESDK package has more information on the batch.
0 -
Hello @ahmire.kailer
The application may implement a subscription throttle in the application level to not send all item request messages to the API in the same time. For example,
- the application may send a smaller number of items in multiple batch requests instead of all items in one batch
- the application may not send the next batch request until all responses of the previous batch request are received
- Or the application uses a timer to send each batch request
1
Categories
- All Categories
- 6 AHS
- 39 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 60 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛