Sometimes when we get fundamental data via the Dex2 API, we get DS_DE_NULL_ERROR back, usually with either the text "Asynchronous Query library internal error" or "Server response is not valid." This happens seemingly at random, usually after at least a minute has passed-- possibly a timeout from upstream.
Usually when we get fundamental data we get it for our whole portfolio of 1,000 stocks (we're quants). In general when we receive the above messages our strategy has been to try to resend the request right away, usually breaking it into more, but smaller, requests. However, sometimes, that results in further errors, including "DS_DE_NULL_ERROR: Too many long-running requests were detected."
Is there a standard suggestion for what's the best way to package requests of data to the Eikon COM API? Is there an optimal time to wait after receiving a DS_DE_NULL_ERROR response before retrying the request? Is there an optimal size for an individual request to avoid timeouts in the first place? Any suggestions would be appreciated.