devcartel / pyrfa

Open sourced Python API for Refinitiv (Thomson Reuters) Enterprise Platform.
http://devcartel.com/pyrfa
MIT License
51 stars 16 forks source link

How to check marketpricehandler response ? #9

Closed CoreCPU closed 9 years ago

CoreCPU commented 9 years ago

Hi,

When using the examples, i noticed that none of them seem to return when something goes wrong with a request. For instance, subscribing to a none existing ric results in the 'snapshot.py' example coughing up an error and it then hangs around for ever. The above is true for all examples: subscribing to a none existing ric or receiving a dacs error results in the example hanging around for ever. Could you tell me how i could trap any errors returned by MarketPriceHandler::processresponse ? How can i check whether a request has passed successfully ?

Kind Regards,

Alain

ukrit-himakoon commented 9 years ago

Hello Alain,

Actually, snapshot.py is not hang but it waits for 10 second to retrieve the images. In the case that you have subscribed to the unavailable RIC, you will see the message below in the log: ############# [Thu May 14 08:24:05 2015]: (ComponentName) Pyrfa: (Severity) Warning: [MarketPriceHandler::processResponse] MarketPrice Status: No data in cache. #############

Basically, if you would like to check whether each subscription request has done successfully. You can make the list of the subscribed RICs compared to the image that you received after the subscriptions. In the case of the streaming subscription For example, MarketPrice, you can use p.getMarketPriceWatchList() to retrieve the list of RICs.SERVICE that currently subscribing.

Best regards, Ukrit H.

On Wed, May 13, 2015 at 8:22 PM, CoreCPU notifications@github.com wrote:

Hi,

When using the examples, i noticed that none of them seem to return when something goes wrong with a request. For instance, subscribing to a none existing ric results in the 'snapshot.py' example coughing up an error and it then hangs around for ever. The above is true for all examples: subscribing to a none existing ric or receiving a dacs error results in the example hanging around for ever. Could you tell me how i could trap any errors returned by MarketPriceHandler::processresponse ? How can i check whether a request has passed successfully ?

Kind Regards,

Alain

— Reply to this email directly or view it on GitHub https://github.com/devcartel/api/issues/9.

wiwat-tharateeraparb commented 9 years ago

There is a plan to include message type in the output of dispatchEventQueue() which possible types to be REFRESH, UPDATE and STATUS. Once implemented, you will receive a status on subscribing error and DACS error as well.

Thanks for your input.

ukrit-himakoon commented 9 years ago

Hello Alain,

The up coming PyRFA 8.0.0 will contain the status message in the response. In the case which you do not have a permission to subscribe a RIC, you will retrieve the message below from PyRFA. We have planned to release PyRFA 8.0.0 at the end of June 2015.

({'STREAM_STATE':'Closed','SERVICE':'hEDD','TEXT':'Access Denied: User req to IDN for Exch - SET','MTYPE':'STATUS','DATA_STATE':'Suspect','RIC':'TOP.BK'})

Also in the case which the RIC is unavailable, you'll retrieve the message like in the example below:

({'STREAM_STATE':'Closed','SERVICE':'hEDD','TEXT':'The record could not be found','MTYPE':'STATUS','DATA_STATE':'Suspect','RIC':'EURX2='}) 
wiwat-tharateeraparb commented 9 years ago

PyRFA 8.0.0 released today has included STATUS message.