aiohttp 및 ElementTree를 사용하여 웹 사이트에서 데이터를 가져 오는 Python 프로그램이 있습니다. 아래 코드는 Raspberry Pi에서 호스팅되는 Discord 채팅 봇의 세그먼트입니다. 이 기능은 대부분 잘 작동하지만 봇이 며칠간 켜져 있으면 기능이 멈추기 시작하고 항상 시간이 초과됩니다. 프로그램을 다시 시작하면 문제가 해결되지 않고 Pi를 재부팅하면 잠시 동안 문제가 해결되는 것 같습니다. 계속 진행할 것은별로 없다는 것을 알고 있지만,이 경우에 해당되는 코드 세그먼트에는 분명한 문제가 있습니까? 아니면 다른 곳에 문제가 있습니까?Python - aiohttp가 지속적으로 시간 제한을 요청합니다.
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))
프로세스를 재시작해도 도움이되지 않으면 분명히 aiohttp 문제가 아닙니다. –