Я пытался одновременно выполнить 10 различных задач цикла с помощью asyncio. Все 10 задач вызывают «asyncio.create_task()» внутри своих циклов. Я не могу использовать «asyncio.run()» для всех из них, потому что эта функция блокирует вызываемый поток до тех пор, пока задача не будет выполнена. Поэтому я подумал, что могу просто обойти это, вызвав функцию с помощью «asyncio.run()», а затем внутри этой функции вызвав мои 10 циклических функций через «asyncio.create_task()». 10 циклических функций действительно вызываются, но сами они не могут использовать «asyncio.create_task()». Есть предложения по устранению этой проблемы?
Это код, который я написал для демонстрации своей проблемы:
Код: Выделить всё
async def task2():
print("Task 2 was called")
async def task1():
print("Task 1 was called")
asyncio.create_task(task2())
async def main():
print("Main was called")
asyncio.create_task(task1())
asyncio.run(main())
Печатает:
Будем признательны за любые идеи и предложения
Подробнее здесь:
https://stackoverflow.com/questions/786 ... reate-task