Need to publishing multiple Rics in Parallel to avoid performance issues
Currently when trying to publishing 10000 Rics one by one so it is taking almost 40-45 mins to publish but need to publish the records in few mins with Parallel publishing if possible from the number of set to be publised at a time.
I am using the NiProvider.
TrepPublishingClient appClient = new TrepPublishingClient();
appClient.setServicename("ABC");
appClient.setName("PQR");
OmmConsumer consumer = null;
consumer = EmaFactory.createOmmConsumer(EmaFactory.createOmmConsumerConfig().host(host).username(username));
ReqMsg reqMsg = EmaFactory.createReqMsg();
consumer.registerClient(reqMsg.domainType( EmaRdm.MMT_LOGIN ), appClient, consumer);
consumer.registerClient(reqMsg.clear().serviceName("ABC").name("PQR"), appClient, consumer);
Thread.sleep(1000); // API calls onRefreshMsg(), onUpdateMsg() and onStatusMsg()
if (consumer != null) consumer.uninitialize();
Answers
-
Hello @Gurpreet
Thank you so much for the information!!
Can you please let me know how I can achive it.
0 -
I would refer you to this MP Performance example packaged with the RTSDK. The example demonstrates how to publish 1000 instruments. You can take this example and apply the technique into your own application, while being mindful of throttling. Publishing those 10,000 instruments in a batch of 500 or 1000 would be a good approach.
1 -
According to your previous question, the application uses the post messages to publish data.
Typically, we refer to this method as posting. It is completely different from the NIProvider method. Please confirm whether you are using Posting or NIProvider.
0 -
Hello @Jirapongse
I am using OmmConsumer posting, please check the below code snippet of submitting for publish.
nestedFieldList1.add(EmaFactory.createFieldEntry().ascii(8793, getPre_lb018()));
nestedFieldList1.add(EmaFactory.createFieldEntry().ascii(8794, getPre_lb019()));
nestedFieldList1.add(EmaFactory.createFieldEntry().ascii(4402, getTenor()));
((OmmConsumer)event.closure()).submit( postMsg.postId( postId++ ).serviceName( getServicename() )
.name( getName() ).solicitAck( true ).complete(true)
.payload(nestedRefreshMsg), event.handle() );
0 -
EMA is both thread-safe and thread-aware, allowing multiple threads to post data concurrently for improved performance. However, each item's data must be posted by the same thread to ensure consistency.
0 -
Hello @Jirapongse
Thank you for your response, can you please help me with any example or the code snippet to achieve this…
0 -
0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 697 Datastream
- 1.5K DSS
- 632 Eikon COM
- 5.2K Eikon Data APIs
- 12 Electronic Trading
- 1 Generic FIX
- 7 Local Bank Node API
- 4 Trading API
- 2.9K Elektron
- 1.4K EMA
- 256 ETA
- 563 WebSocket API
- 39 FX Venues
- 15 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 25 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 281 Open PermID
- 46 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 23 RDMS
- 2K Refinitiv Data Platform
- 746 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 27 DACS Station
- 122 Open DACS
- 1.1K RFA
- 107 UPA
- 194 TREP Infrastructure
- 229 TRKD
- 918 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 97 Workspace SDK
- 11 Element Framework
- 5 Grid
- 19 World-Check Data File
- 1 Yield Book Analytics
- 48 中文论坛