Receiving 429 responses too often

I find I am receiving 429 responses all too often. I have limited my code so that it won't make a request more often than every 2 seconds.

I have added log lines to my code for every time it makes a request:

These are the only requests I have made inside this time period:

2019-02-08 15:28:18,291 - actualMakeCall: https://hosted.datascopeapi.reuters.com/RestApi/v1/Extractions/ExtractRaw 


2019-02-08 15:28:22,500 - actualMakeCall: https://hosted.datascopeapi.reuters.com/RestApi/v1/Extractions/ExtractRaw


2019-02-08 15:28:26,774 - actualMakeCall: https://hosted.datascopeapi.reuters.com/RestApi/v1/Extractions/ExtractWithNotes


2019-02-08 15:28:30,969 - actualMakeCall: https://hosted.datascopeapi.reuters.com/RestApi/v1/Extractions/ExtractWithNotes


2019-02-08 15:28:35,187 - actualMakeCall: https://hosted.datascopeapi.reuters.com/RestApi/v1/Extractions/ExtractWithNotes


2019-02-08 15:28:39,410 - actualMakeCall: https://hosted.datascopeapi.reuters.com/RestApi/v1/Extractions/ExtractRaw


2019-02-08 15:28:52,400 - actualMakeCall: https://hosted.datascopeapi.reuters.com/RestApi/v1/Extractions/ExtractRaw

But the request at 15:28:39,410 received a 429 response:

2019-02-08 15:28:39,410 [pool-6-thread-1] - actualMakeCall: https://hosted.datascopeapi.reuters.com/RestApi/v1/Extractions/ExtractRaw 

2019-02-08 15:28:50,349 [pool-6-thread-1] - this is httpstatuscodeexception: {"error":{"message":"Failure reason: UserExtractionLimitExceeded: 9019523 has 2 ET2 extractions, limit is 2"}}



Best Answer

  • davet1,

    you cannot submit a request until the other one has completed.

    From the Best Practices and Limits document page 9:

    When a user reaches his or her limit for the number of extraction requests for a report template type, any
    additional extraction request that he or she submits against that template type will fail, with the extraction
    notes explaining why it failed. If the user submitted the request via the REST or SOAP API, the over-the limit request will return HTTP status 429 with a description of the problem. Once any request ends, the tally of submitted requests is reduced by one, enabling the user to successfully submit an additional
    request
    .

Answers

  • Is this actually unrelated to HTTP requests? Is this actually that I can't have more than two requests in the queue at the same time?