Использование loop во view aiohttp app
Есть aiohttp application в котором одна из view получает список из n штук доменов... Мне их нужно все прочекать. Для этого я использую отдельный loop и возвращаю json с данными
views.py
async def check_domains(request):
if request.body_exists:
domains = await request.read()
response = aiochecker.main(data=domains)
return response
aiochecker.py
import asyncio
import aiohttp
import nest_asyncio
nest_asyncio.apply()
async def check_api(domain, session):
....
async def create_task(data):
.....
def main(data):
json = asyncio.run(create_task(data=data))
return json
Правильно ли я делаю?...Как можно улучшить логику?
Ответы (1 шт):
Автор решения: eri
→ Ссылка
response = aiochecker.main(data=domains)
возможно блокирует основной loop. Стоит или использовать executor оставив так или сразу запускать на рабочем loop
response = await aiochecker.create_task(data)
В чем смысл в nest_asyncio в Вашем случае?