Qual é a diferença entre loop.create_task, asyncio.async / sure_future e Task?
Estou um pouco confuso com algunsasyncio
funções. Eu vejo que existeBaseEventLoop.create_task(coro)
função para agendar uma co-rotina. A documentação paracreate_task
diz que é uma nova função e, para compatibilidade, devemos usarasyncio.async(coro)
que, referindo-me a documentos novamente, vejo um apelido paraasyncio.ensure_future(coro)
que novamente agenda a execução de uma co-rotina.
Enquanto isso, eu tenho usadoTask(coro)
para agendar a execução co-rotineira e isso também parece estar funcionando bem. então, qual é a diferença entre tudo isso?