首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的宽吻ErrorHandler不能处理503

为什么我的宽吻ErrorHandler不能处理503
EN

Stack Overflow用户
提问于 2014-08-11 05:14:47
回答 1查看 435关注 0票数 0

我得到的是503。根据宽吻的指示,我需要根据指示添加一个error_handler。在指令中,我放置了函数:

代码语言:javascript
复制
def error_handler(err):
    ex = err['exception']
    if isinstance(ex, HTTPError) and ex.code == 503:
        time.sleep(random.expovariate(0.1))
        return True

说明书中的例子告诉我们使用这一行:

代码语言:javascript
复制
amazon = bottlenose.Amazon(ErrorHandler=error_handler)

我有这个:

代码语言:javascript
复制
amazon = bottlenose.Amazon(AWSAccessKeyId=ACCESS_KEY_ID, AWSSecretAccessKey = SECRET_KEY,AssociateTag = ASSOC_TAG)

我尝试通过几种方式添加该选项,如下所示:

代码语言:javascript
复制
amazon = bottlenose.Amazon(AWSAccessKeyId=ACCESS_KEY_ID, AWSSecretAccessKey = SECRET_KEY,AssociateTag = ASSOC_TAG,ErrorHandler=error_handler)

但是我还是得到了503,我想我没有把它设置好。我希望有人能告诉我我在哪里错过了这个。谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-08-11 11:07:03

您是否提交请求太快了?你需要放慢速度。每秒一个请求是一个很好的速度。

Amazon Product Advertising API返回三类错误,以便您轻松确定如何最好地处理问题:

  • 2XX错误是由请求中的错误引起的。例如,您的请求可能缺少必需的参数。响应中的错误消息清楚地指出了错误所在。
  • 4xx错误是非瞬态错误。收到此错误后,请重新提交请求。
  • 5XX错误是反映亚马逊内部错误的暂时性错误。503错误意味着您提交请求的速度太快,并且您的请求正在被限制。如果是这种情况,您需要将请求速率降低到每秒一个请求。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25233078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档