我正在对 aiohttp.ClientSession 实例执行 request() ,有时会引发 asyncio.TimeoutError 。我认为在这种情况下必须引发 aiohttp.ServerTimeoutError ,它源自 asyncio.TimeoutError ,正如该文档所述:http: //docs.aiohttp.org/en/stable/client_reference.html#aiohttp.ServerTimeoutError 为什么会发生?也许是因为我使用的是旧版本的aiohttp?2.3.8
UPD 这可能会发生在像这样的非常简单的代码中
async def example_of_code():
session = aiohttp.ClientSession()
response = await session.request(
method='POST',
url='some_url',
params={'some': 'params'},
data={'some': 'data'},
headers={'some': 'headers'},
timeout=10
)
return await response.json()
Run Code Online (Sandbox Code Playgroud) 我正在使用带有 limited_as_completed 方法的 aiohttp 来加速报废(大约 1 亿个静态网站页面)。但是,代码在几分钟后停止,并返回 TimeoutError。我尝试了几件事,但仍然无法阻止引发 asyncio.TimeoutError。请问我如何忽略错误并继续?
我正在运行的代码是:
N=123
import html
from lxml import etree
import requests
import asyncio
import aiohttp
from aiohttp import ClientSession, TCPConnector
import pandas as pd
import re
import csv
import time
from itertools import islice
import sys
from contextlib import suppress
start = time.time()
data = {}
data['name'] = []
filename = "C:\\Users\\xxxx"+ str(N) + ".csv"
def limited_as_completed(coros, limit):
futures = [
asyncio.ensure_future(c)
for c in islice(coros, 0, limit)
]
async def first_to_finish(): …Run Code Online (Sandbox Code Playgroud) python exception-handling timeoutexception python-asyncio aiohttp