Python boto3';SWF上的60秒超时
SWF文档建议“工作人员应将其客户端套接字超时设置为至少70秒(比服务可能保留轮询请求的最长时间高10秒)。” 目前,我的作品会收到读取超时,例如:Python boto3';SWF上的60秒超时,python,amazon-swf,boto3,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)
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上的默认_TIMEOUT设置为60,但在boto3中找不到自定义此设置的方法。如何将其移动到70以避免在长时间的投票中出现超时?我也遇到了同样的问题,并得到了一个答案: 当前没有用于此的配置选项。将此标记为功能请求
因此,当前在botocore endpoint.py中设置
DEFAULT\u TIMEOUT=70
似乎是唯一的解决办法。您可以像这样设置客户端:
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)