question

Upvotes
Accepted
20 2 3 7

Pause/resume and decreasing the frequency of updates coming from an ADS.

Hi,

I have an ommConsumer that registers its interests and receives updates from the server. Sometimes the rate of updates is too high and I would like to either pause/resume or decrease the update rate. Is it possible at all? I am using Java and would be useful to see an example/code-snippet in case it would really be possible to slow down the update rate and pause/resume the updates.


Many Thanks.

pandasommconsumer
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Hello @AMofidy-Rouhi ,

Thank you for your participation in the forum.

Is the reply below satisfactory in resolving your query?

If yes, please click the 'Accept' text next to the appropriate reply. This will guide all community members who have a similar question. Otherwise please post again offering further insight into your question.

Thanks,

-AHS

Please be informed that a reply has been verified as correct in answering the question, and has been marked as such.

Thanks,
AHS

Upvote
Accepted
32.2k 40 11 20

Hello @AMofidy-Rouhi,

The rate of updates is set at the service level on the infrastructure. In can be every tick (TickByTick), it can be conflated. Would like to suggest to contact your market data group/admin to verify if an alternative conflated service is available to you.

I am guessing that the application may not be processing the updates quickly enough, and is being disconnected as a slow consumer. If this is the case, a couple of suggestions that may be helpful:

  • Threading- once the update is received, any heavy processing or interaction with external systems that requires wait should be handled by worker threads, outside of the callback.
  • Horizonal scaling can be used - see EMA Java example ex410_MP_HorizontalScaling
  • If your subscription instrument list is large - you may need to increase GuaranteedOutputBuffer parameter to accommodate your list, see EMA Configuration Guide for details, for example:
<GuaranteedOutputBuffers value="5000"/>
  • If significant number of the updates is not required, in receipt- do not process them further
  • If the market data is required infrequently, consider periodic snapshot instead of a continuous stream, see EMA Java example ex102_MP_Snapshot

Pause/resume can be requested, if supported by your infra, but not when application is being identified as slow consumer, for more information, see section Reissue Requests and Pause/Resume in RDM Usage Guide and example EMA Java ex350_MP_PauseAll.

Hope this information helps

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
79.2k 251 52 74

@AMofidy-Rouhi

You may consider using the dynamic view to only subscribe to the required fields. This can reduce the number of updates and the size of messages.

You can refer to the ex360_MP_View example in the RTSDK package.

However, the server must support this feature.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.