raise EikonError(-1, 'Port number was not identified.

Hi,

I made a python scipt which downloads some historical data for the last minutes for a set of about 2500 RICs.

It does this every few minutes using multiprocessing to speed things up. (I do take a 1 second delay for eacht of the 11 processes to start up not to make too many calls in a second.)

It all works fine and steadily keeps on going, but somehow after a few hours suddenly I get an error:


raise EikonError(-1, 'Port number was not identified. Check if Eikon Desktop or Eikon API Proxy is running.').

Log file shows:

yeikon - ERROR - Eikon Proxy not installed or not running. Please read the documentation to know how to install and run the proxy, level=logging.WARNING

and:

pyeikon - ERROR - Error on checking port 9000 : HTTPConnectionPool(host='localhost', port=9100): Max retries exceeded with url: /api/v1/data (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x00000221D78E6E08>: Failed to establish a new connection: [WinError 10061] Kan geen verbinding maken omdat de doelcomputer de verbinding actief heeft geweigerd')), level=logging.WARNING


Is this

This was the output when the porgram crashed in the TCP watch. (i think the long list is because of the retrying of the script after crash?)

image


This happened a few days in a row now, but I would really like for the script to keep on working and not require me to pay attention if it crashes or not. After I restart Eikon it all starts working again btw.

Is anything happening on my side which causes this top happen? Is it a Reuters side thing? and most importantly, how can I fix it!

Cheers,

Jan

Best Answer

  • chavalit-jintamalit
    Answer ✓

    According to Limitation Guide at https://developers.refinitiv.com/eikon-apis/eikon-data-api/docs?content=49692&type=documentation_item

    API limits at 5 requests per second.

    There are also 50 MB per minute and 5GB / 10000 requests per day limitation too.

    I am not sure how you split up the job to each processes that you have but you may exceed this limitation.


    When the problem happens, please try to open http://localhost:9000/ping?all with a browser and share the output.

    This is an expected output:


    {"port":9000,"mode":"eikon4","pid":25400,"hasSecure":true,"startedTime":"Thu Jul 02 2020 07:17:38 GMT+0800 (China Standard Time)","subApps":[{"path":"/heap"},{"path":"/ping"},{"path":"/sxs","data":{"hasSecure":true,"sxsApps":{}}},{"path":"/api"},{"path":"/sxs/v1/services/messenger"}]}

    The path = /api indicates that API Proxy is running.


    Anyway, I do not think re-requesting 2500 records every few minutes is a valid usage for Eikon Desktop Data API.

    You may speak with the Refinitiv Customer Success Manager or Refinitiv Account Manager for your company to discuss a suitable product/solution.