Hi again,

I changed a bit your example and it works as you expected I hope.

import asyncio


async def long():
    for i in range(100):
        await asyncio.sleep(10)
        print("long is done")


loop = asyncio.get_event_loop()

task = loop.create_task(long())
print('after asyncio.run')
loop.run_until_complete(asyncio.gather(task))


But how I wrote before ... if you are in big Django project just look at existent django libraries for long task running. One of it I sent you. There is 'celery' as well.

It's more pragmatic way ...

30.03.2022 19:10, Larry Martell пишет:
import asyncio
import time

async def long():
     for i in range(100):
        time.sleep(10)

asyncio.run(long())
print('after asyncio.run')
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to