boto3在SWF上超时60秒

时间:2015-07-30 03:37:48

标签: python amazon-swf boto3

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以避免长时间民意调查中的读取超时?

2 个答案:

答案 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似乎是唯一的解决方法。