我的Django异步视图中的任务没有执行

问题描述 投票:0回答:0

Django异步视图可以立即响应,而任务异步运行,但实际上任务无法继续。

    async def task_async():
    print('task begin')
    await asyncio.sleep(2)
    print('task run success')
    async def view_async(request):
    print('async begin')
    loop = asyncio.get_event_loop()
    loop.create_task(task_async())
    print('return')
    return HttpResponse("Non-blocking HTTP request")

我希望任务在http响应返回后继续运行,但是结果是:

async begin
return
task begin

用uvicron可以,但是manage.py不行。

python django django-views python-asyncio gunicorn
© www.soinside.com 2019 - 2024. All rights reserved.