Hi, For many scripts, the historical data API is returning data only after several tries. For example, when I try to get the data for HINDZINC between 2017-03-01 and 2017-03-31, the call returned error in first 12 calls (same calls), but returned data on 13th attempt.
Some scripts take many more attempts, sometimes 20+.
While this trial-and-error process has been automated, it takes nearly one day to get the data (to a reasonable extent) for the scripts of interest & time. The real issue is that if the call fails, it is impossible to tell whether data is available or not.
Please review this issue & fix it. If the data is present, return it in the first call itself.
I am too facing the similar issue. Also, i tried to extract data using multithreading, it always show Too many request error. Please resolve these issue and suggest some alternate solutions.
Hi @ramatius, I think in your scenario what happens is you are placing a http request to fetch data and before database call completes fetching the row, your request is failing with the timeout. Hence I would suggest you try with less time interval.
Hi @sujith The timeout is 3 minutes in my script. The server does return error long before that. Sometimes I do get timeout (i.e. server doesn't respond for 3 mins), but this is quite rare, may be once in 1000+ calls.
The same call succeeds after a few tries. There is nothing to get malformed - the URL call is very straightforward.
My guess is that you have some internal timeout mechanism and it returns an error if the data is not there in the server cache. When the data gets into the cache, then the call succeeds.
I request you to try this yourself and see. It will save lot of time & resources on both sides to get the data in the first call itself, if it is present.
I would suggest trying with from date 2017-03-01 and to date 2017-03-20.
@mohit77bansal,
All Kite connect http requests are limited to 3 requests per second.
I think in your scenario what happens is you are placing a http request to fetch data and before database call completes fetching the row, your request is failing with the timeout. Hence I would suggest you try with less time interval.
Please check.
Bad request means the request sent from client to server is malformed. Maybe you should check the params you are sending.
My guess is that you have some internal timeout mechanism and it returns an error if the data is not there in the server cache. When the data gets into the cache, then the call succeeds.
I request you to try this yourself and see. It will save lot of time & resources on both sides to get the data in the first call itself, if it is present.