我开始使用 Microsoft 为 SQL Azure 提供的瞬态故障块,我注意到我的一些具有瞬态处理块的函数也可能引用了这个块的其他函数。
我猜重试等待时间会复合吗?
你是什么意思retry time will then compound
?
对 SQL 数据库的每个查询都使用其自己的重试逻辑执行。如果您有执行 10 个查询的方法或函数调用,则这 10 个查询中的每一个都将使用各自的重试逻辑执行。
如果仅执行其中一个查询时出现瞬时错误。那么等待时间就是那个等待时间。如果在执行多个查询期间出现瞬时错误,则等待时间将是执行期间发生的所有等待时间的总和。
然而,瞬态错误就是他们的名字所暗示的 - transient
. 除了以连续顺序执行的查询之外,您不太可能遇到暂时性错误。但如果它发生,那么是的 - 等待时间将总结。但是,如果您并行或异步执行查询,那么您并没有真正总结等待时间。
最后,一个查询执行的重试策略不影响其他查询执行的重试策略。