【发布时间】:2016-03-31 01:07:08
【问题描述】:
正如上面所说的https://msdn.microsoft.com/en-us/library/azure/dd135718.aspx
“查询可能不返回任何结果,但仍会返回延续标头。”
所以我的问题是 - 那么调用者的行为应该是什么?
- 过一段时间再试一次?
- 将其视为结果集的结尾?
- 进行新的查询而不继续。基于最后检索到的数据的令牌更新过滤器?
也有人说, “针对表服务的查询一次最多可能返回 1,000 个项目,并且最多可能执行 5 秒。如果结果集包含超过 1,000 个项目,如果查询未在 5 秒内完成,或者如果查询跨越分区边界,响应包括为开发人员提供连续令牌的标头,以便在结果集中的下一个项目处恢复查询。可能会为查询表操作或查询实体操作返回连续令牌标头。”
所以看起来重试策略会在总是返回带有延续令牌的空结果时导致我们进入无限循环......
【问题讨论】:
-
我似乎正在进入一个无限循环(或接近无限循环,因为每个结果集总是空的,所以看似任意退出)。您对重试逻辑的假设似乎是正确的,但我希望清楚最好的编程模式应该是什么。
标签: azure pagination token continuation