вызове таска в одном ивент лупе функции так же и таски начинают запускаться без вызова в другом?:
import asyncio
async def coro(x):
await asyncio.sleep(1)
print(x)
async def create_task():
loop = asyncio.get_event_loop()
coro_task = loop.create_task(coro(x='art'))
await coro_task
async def process_interception():
loop = asyncio.get_event_loop()
tasks = [loop.create_task(coro(x=i)) for i in range(10)]
tasks += [loop.create_task(hello())]
async def hello():
print('hello')
async def main():
await asyncio.gather(
create_task(),
process_interception(),
)
if name == 'main':
asyncio.run(main())
У тебя же один луп создаётся, asyncio.run, внутри которого ты уже вызываешь get_event_loop
Да и вообще в коде херня какая-то написана. Как это должно работать вообще?
это тестирование асинхронностей. ибо я заметил, что какого то фига еще не запущенные таски сами вызываются
Что значит "еще не запущенные таски" ?
только проиннициализированные
Что значит "только проинициализированные"? Как ты их инициализируешь?
asyncio.create_task(some_task())
asyncio.create_task создает таск и его в луп. он начнет выполняться как только луп до него доберется.
Обсуждают сегодня