思路
后端使用celery将耗时任务放入异步队列,向前端发送该任务的AsyncResultID并随着任务进行不断更新状态属性state,前端定时根据AsyncResultID请求相应的视图获取该任务任务此时的状态。
流程如下:
环境
安装并为Django项目配置celery:Django 中celery的使用
redis安装教程:Redis安装教程(超详细)
案例
这里提一个需求,在50秒内更新100个数,每0.5秒更新一次。
View视图:
from django.http import HttpResponse
from django.views import View
from .tasks import *
from celery.result import AsyncResult
# Create your views here.
class TestView2(View