Closed LJingnan closed 3 months ago
Are you referring to the Python version of collect-binancefutures? If so, please use the collect-binancefutures issue tracker.
Sometimes update id gaps occur repeatedly in the short term, so it may be better to maintain the order book based solely on the diff. depth stream. Retrying to recover by fetching a snapshot delays order book reconstruction and is also limited by API rate limits. The Rust version of collect-binancefutures removes that part and will be provided as an option.
Yes I am using the python api. Sorry I should put this in collect-binancefutures issue tracker. "The Rust version of collect-binancefutures removes that part", do you mean that rust version would not try to recover by fetching a snapshot and just stop when there is a Internet error causing data missing.
Precisely, when mismatch of update id is detected, the Python version tries to recover by matching update ids from the fetched snapshot. Until recovery is complete, the depth is not reconstructed(not stored). In contrast, the Rust version fetches the snapshot but does not wait for matching update ids. You can choose how to deal with missing update ids when processing stored raw stream data, but recovery can fail. relying on natural refresh is recommended.
Precisely, when mismatch of update id is detected, the Python version tries to recover by matching update ids from the fetched snapshot. Until recovery is complete, the depth is not reconstructed(not stored). In contrast, the Rust version fetches the snapshot but does not wait for matching update ids. You can choose how to deal with missing update ids when processing stored raw stream data, but recovery can fail. relying on natural refresh is recommended.
I see, thank you so much.
The error is as follow:
It seems that it is a internet error, but It happens occasionally and unpredictably, which cause my program failed and stop. Do you have any idea to solve this problem. Thank you.