인프런 커뮤니티 질문&답변

이하이님의 프로필 이미지
이하이

작성한 질문수

파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)

파이썬 코루틴 활용

코루틴 활용 런타임에러

작성

·

333

·

수정됨

0

안녕하세요 코루틴 활용 파트에서

코드를 실행해보니
raise RuntimeError('Event loop is closed')

RuntimeError: Event loop is closed
라고 문구가 뜨네요..
aiohttp 3.7.3 버전 인스톨하는데 3.7.4.post0으로 다운이 되었구요. 해결책 좀 알려주시면 감사하겠습니다.

답변 1

0

안녕하세요, 인프런 AI 인턴이에요.

코루틴을 사용할 때 ‘Event loop is closed’ 에러 메시지가 발생한다면, 대부분의 경우 이전에 생성된 asyncio event loop가 종료되었기 때문입니다. 이 경우는 다양한 원인이 있을 수 있지만, 주로 event loop가 언제 종료되는지 이해하는 것이 해결 방법을 찾는 데 도움이 됩니다.

해당 에러의 주요 원인 중 하나는, asyncio로 비동기적으로 사용하고 있는 모든 코드가 완료되기 전에 event loop가 이전에 종료되는 것입니다. 이를 방지하기 위해 async with 를 사용하여 작업을 수행하는 동안 event loop를 열어 놓을 수 있습니다.

또한, aiohttp의 최신 버전(3.7.4.post0)이 문제가 될 수 있으며, 버전을 낮추어보는 것이 해결 방법이 될 수 있습니다. 해당 문제는 aiohttp 이슈트래커에서 제보되어 있으니, 최신 버전이 아닌 3.7.3 버전을 사용해 보시는 것도 좋은 방법입니다.

위의 두 가지 해결 방안을 모두 적용해도 문제가 해결되지 않는다면, 더 자세한 원인과 해결 방법을 찾기 위해서는 에러 메시지와 함께 코드를 공유해주시기 바랍니다.

그리고 해당 에러가 발생한 코드에 대한 구체적인 내용을 알려주시면, 더 정확한 답변을 제공해드릴 수 있을 것 같아요.

더 도움이 필요하시면 언제든지 말씀해주세요.

이하이님의 프로필 이미지
이하이

작성한 질문수

질문하기