zoukankan      html  css  js  c++  java
  • tornado.simple_httpclient.HTTPTimeoutError: Timeout while connecting问题的解决

    问题:发送大量并发的时候,request_timeout和connect_timeout时间一到,默认的时长:20S,
    不管还有多少没有请求,剩下都会抛异常HTTPTimeoutError【Timeout in request queue】
    
    解决方法如下:
    步骤1、AsyncHTTPClient.__new__()
    步骤2、Configurable.__new__() ==> 所以传入的参数存放在init_kwargs
    步骤3、instance.initialize(*args, **init_kwargs) <=等价=> SimpleAsyncHTTPClient().initialize(*args, **init_kwargs)
    步骤4、SimpleAsyncHTTPClient().fetch_impl() 【主要问题点在这里,重点查看该代码】

     一、分析源码

     

     二、解决方案

    # 加大并发数量
    http_client = AsyncHTTPClient(max_clients=500)
    
    request_timeout和connect_timeout设置为0
    HTTPRequest(
                url=url,
                method='POST',
                body=urlencode(post_body).encode('utf-8'),
                validate_cert=False,
                request_timeout=0,
                connect_timeout=0,
                headers=self.header,
                user_agent='nginx',
    )

     三、问题解决

  • 相关阅读:
    java笔试之输出
    构造块和静态块[转]
    Java 对象和类
    StringBuffer
    基于bootstrap的表格数据展示
    弹窗式页面
    读取xml
    更新xml
    写XML
    遍历一个类的字段和值
  • 原文地址:https://www.cnblogs.com/ygbh/p/14036609.html
Copyright © 2011-2022 走看看