Я пытаюсь использовать asyncio с моим методом, который требует времени для запуска. Я хочу вызывать один и тот же метод много раз с немного разными входами, и мне все равно, какой вызов завершается первым, я просто хочу собрать все результаты, когда они все будут завершены (главный кандидат в цикл asyncio, верно?) Вот некоторые код, который я использовал, когда знаю, сколько раз я хочу вызвать мой метод:
async def main():
loop = asyncio.get_event_loop()
future1 = loop.run_in_executor(None, myhttpreq, 'US')
future2 = loop.run_in_executor(None, myhttpreq, 'RU')
future3 = loop.run_in_executor(None, myhttpreq, 'CN')
response1 = await future1
response2 = await future2
response3 = await future3
print(response1)
print(response2)
print(response3)
Как вы можете сказать по параметрам, передаваемым с помощью myhttpreq, причина того, что этот метод занимает так много времени, заключается в том, что он вызывает конечные точки со всего мира. У меня вопрос такой:
Скажем, список стран, которые я хочу назвать, довольно переменный, как я могу генерировать и ожидать переменное количество фьючерсов?