我正在使用带有Boto3 SDK的Mechanical Turk。
根据一般文件https://docs.aws.amazon.com/general/latest/gr/api-retries.html,"每个AWS SDK都实现了指数退避算法"——那么为什么我们需要在代码中再次实现它呢?
(我在这里也指AWS的回答:https://forums.aws.amazon.com/thread.jspa?threadID=307015)
对于每个用例,默认客户端回退可能不够。
我不熟悉这个特定的服务客户端,但您通常可以通过使用日志级别logging.DEBUG
来检测重试。它将记录重试尝试,因此您可以检查重试的频率和次数。
某些服务在M次尝试N次方面有非常特定的速率限制,因此您可以通过使用名为retries
的botocore.config.Config
属性并在提供config
关键字的同时构建服务客户端来覆盖默认回退。