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不行。