前端发起一个比较长时间的服务,需要在前端刷新实时进度,告诉用户进展。不是假进度条,是实际的进度,例如需要更新1000条数据,则前端不断刷新 已完成数/1000

       前端发起服务,注意生成一个taskID:

import uuid from "node-uuid";

this.taskID=uuid.v1()

      生成一个定时任务this.intervalId = setInterval(() => { this.fetchProgress(); }, 3000); // 每3秒轮询一次 

      向后台发起请求,传递该参数。

       后台先计算任务总数,然后向redis以该键值存储的实时进度信息,然后进入循环,边完成任务,边刷新redis。

       定时任务调后台job服务的相关接口获取进度。

       后台完成定时任务后会销毁redis数据

       前端接收到返回后,显示服务结果,同时停止定时任务。