Я использую aiohttp
для асинхронной загрузки некоторых файлов изображений. мой код:
async def save_message_images(self, message_data, channel):
async with aiohttp.ClientSession() as session:
image_links = []
for i, link in enumerate(message_data.get('image_links')):
async with session.get(link) as response:
if response.status == 200:
file_name = 'media/messages_images/' + str(channel.telegram_username) + '_' + \
str(message_data.get('message_id') + '_' + str(i)) + '.jpg'
file = open(file_name, mode='wb')
file.write(await response.read())
file.close()
image_links.append(file_name)
else:
raise MessageWebCrawler.RetrieveUrlException()
message_data['image_links'] = image_links
await session.close()
return message_data
Я запускаю этот код в блоке while
, но после некоторой итерации aiohttp
застревает и больше не работает. Я использую python 3.7.4
и aiohttp 3.5.4
в ubuntu 16
. Может кто-нибудь помочь мне, пожалуйста?