Fazendo 1 milhão de pedidos com aiohttp / asyncio - literalmente
Eu segui este tutorial:https://pawelmhm.github.io/asyncio/python/aiohttp/2016/04/22/asyncio-aiohttp.html e tudo funciona bem quando faço 50.000 solicitações. Mas preciso fazer 1 milhão de chamadas à API e, em seguida, tenho um problema com este código:
url = "http://some_url.com/?id={}"
tasks = set()
sem = asyncio.Semaphore(MAX_SIM_CONNS)
for i in range(1, LAST_ID + 1):
task = asyncio.ensure_future(bound_fetch(sem, url.format(i)))
tasks.add(task)
responses = asyncio.gather(*tasks)
return await responses
Como o Python precisa criar 1 milhão de tarefas, basicamente fica atrasado e depois imprimeKilled
mensagem no terminal. Existe alguma maneira de usar um gerador instalado em conjunto pré-fabricado (ou lista) de URLs? Obrigado.