SWF文档建议“工作人员应将其客户端套接字超时设置为至少70秒(比服务保留轮询请求的最长时间高10秒)。”
暂时我的作品会收到阅读时间,例如:
botocore.vendored.requests.packages.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='swf.eu-west-1.amazonaws.com', port=443): Read timed out. (read timeout=60)
我已经设置了
socket.setdefaulttimeout(70)
,但它似乎没有产生任何影响。我看到在botocore enrpoint.py上将DEFAULT_TIMEOUT设置为60,但是找不到在boto3中自定义它的方法。如何将其移至70以避免长时间民意调查中的读取超时?
答案 0 :(得分:6)
您可以像这样设置客户端:
from boto3.session import Session
from botocore.client import Config
session = Session(aws_access_key_id=aws_id,
aws_secret_access_key=aws_secret,
region_name=region)
config = Config(connect_timeout=50, read_timeout=70)
client = session.client('swf', config=config)
答案 1 :(得分:0)
我遇到了同样的问题并得到了答案on github:
目前没有配置选项。将此标记为功能请求。
因此,目前在botocore endpoint.py中设置DEFAULT_TIMEOUT = 70
似乎是唯一的解决方法。