将Google云端硬盘在线文档中描述指数退避的示例代码与same page上给出的文字描述进行比较时,似乎“一举成名”。该代码从0到4循环运行(因此最多尝试5次请求),但是代码之前的文本编号列表描述了最多进行6次API请求(在步骤1中进行1次正常尝试,然后在5次中重试)。步骤3.,5、7、9和11)。针对Analytics API here给出的示例代码中也存在相同的问题。
我对文本描述的解释是否正确,或者代码和文本之间确实存在不匹配?
(如果有一个正常的支持论坛,我会在这里发布,但是没有,所以S.O.是...)
最佳答案
关于算法的重要部分是它的指数性,而不是尝试次数。
只要您将每次迭代的等待时间加倍,您就可以尝试多少次。
您可以找到其他Google和非Google示例,其中添加了较小的随机延迟(例如0-2秒之间),从而降低了其他请求 bundle 在一起的几率。
我同意文档在代码及其解释之间应保持一致。
关于error-handling - Google的有关指数补偿的文档是否不一致?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24361060/