For a deeper look into our Elektron API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
3 0 0 2

close session and exit

I am using this example:

market_price_edpgw_service_discovery.py 

I only need one latest value for a RIC and added the option Streaming: False

I also want to close the socket and exit the program. Is there a Flag that I can set to do that?
elektronrefinitiv-realtimeelektron-sdkstreaming-prices
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.

Upvote
Accepted
9.5k 10 5 7

Hello @kshishir

One possible way is to

1. comment try .. except KeyboardInterrupt:

    '''
    try:
    ..
    except KeyboardInterrupt:
        session1.disconnect()
        if hotstandby:
            session2.disconnect()
    '''

2. In _process_message(self, message_json) method, check if the application receives data, disconnect and exit program

            if message_type == "Refresh":
                if 'Domain' in message_json:
                    message_domain = message_json['Domain']
                    if message_domain == "Login":
                        self._process_login_response(message_json)
                #Add the following code for Data Refresh Message
                else:
                    print("Receive Data. Disconnect and Exit Program")
                    session1.disconnect()
                    if hotstandby:
                        session2.disconnect()
                    sys.exit(0)
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
9.5k 10 5 7

Hello @kshishir

You can set "Streaming" parameter in the JSON request message to False (boolean value) to get one latest value for a RIC like an example below:

        mp_req_json = {
            'ID': 2,
            'Key': {
                'Name': ric_name,
                'Service': service,
            },
            "Streaming": False
        }


The application run forever without any flag:

    try:
        while True:
               ....

If you would like to close the program, just press Ctrl+C, then the following code lines are called to close websocket and exit the program:

    except KeyboardInterrupt:
        session1.disconnect()
        if hotstandby:
            session2.disconnect()
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
3 0 0 2

Thanks you!

Is there a way to just run the app once, get the latest values and exit without having to press Ctrl + C?


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.

Upvote
15.2k 28 8 12

Hello @kshishir

If you need only a snapshot of latest real-time Market Price values you may consider Refinitiv's Knowledge API (TRKD API). The TRKD API delivers Refinitiv information and contents in a request-response scenario via web services using SOAP, XML and HTTP REST/JSON protocols.

TRKD has the Quote Service that provides a snapshot real-time quote/quote chain data for consumers. Please see more detail regarding the TRKD Quote service in this article.

You can find more detail regarding TRKD API in TRKD official web site.

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.

Thank you Wasin. This is also helpful. Is there any difference in data received from TKDR and Elektron Real Time?

Upvotes
3 0 0 2

Thank you Wasin. This is also helpful. Is there any difference in data received from TKDR and Elektron Real Time?

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.