python-request模块在与asyncio一起使用时间歇性地抛出EndPointConnectionError

时间:2017-11-10 15:24:32

标签: python python-3.x python-requests python-asyncio

我正试图通过我的方法对外部api进行调用,

async def post(self, request, **args):

        loop = app.loop # Event loop

        #Service proxy is basically a wrapper on top of request library

        proxy = ServiceProxy(url, port=HTTPS_PORT,
                            context_path="/", scheme=SCHEME_HTTPS,
                            verify_host=False, proxies=await 
                            get_proxies()) # get_proxies=>system_proxy

        req = partial(proxy.post, url, headers=headers,
                           payload=data_json)

        return await loop.run_in_executor(None, req)
    except ExternalServiceException as e:
        logger.error(e.inner_response.text)
        return e.inner_response

该方法中有2次失败,EndpointConnectionError但是如果我停止并启动服务它完全正常,我无法找到根本原因,

在代码中添加记录器似乎可以减少错误的发生,

在前景中,asyncio似乎导致了这个问题, 但我无法弄清楚解决方案, 有人可以指出确切的问题/提出解决方案吗?

0 个答案:

没有答案