Ich habe ein Python-Programm, das aiohttp und ElementTree verwendet, um Daten von einer Website zu holen. Der folgende Code ist ein Segment eines Diskord-Chat-Bot, der auf einem Raspberry Pi gehostet wird. Die Funktion funktioniert die meiste Zeit gut, aber nachdem der Bot für ein paar Tage eingeschaltet war, beginnt die Funktion zu versinken, und die Zeit läuft immer ab. Neustart des Programms behebt das Problem nicht, nur das Neustarten des Pi scheint das Problem für eine Weile zu lösen. Ich weiß, es ist nicht viel, um weiter zu gehen, aber gibt es ein offensichtliches Problem mit diesem Codeabschnitt, das das könnte, oder liegt das Problem woanders?Python - aiohttp Anfragen kontinuierlich Zeitüberschreitung
import lxml.etree as ET
import aiohttp, async_timeout
...
async with aiohttp.ClientSession() as session:
try:
with async_timeout.timeout(5):
async with session.get('https://example.com', params=params, headers=headers) as resp:
if resp.status == 200:
root = ET.fromstring(await resp.text(), ET.HTMLParser())
# Do stuff with root
else:
print("Error: {}".format(resp.response))
except Exception as e:
print("Timeout error {}".format(e))
Wenn auch der Prozess Neustart nicht hilft - es ist offensichtlich nicht aiohttp Problem. –