进度条(vue + redis + springboot)

工作需要需要同步mysql数据库中的流程任务信息到mongodb,当流程较多时,同步时间会比较长,所以需要一个进度条,来知晓同步的进度。

使用到的技术

springboot, springboot的异步注解,vue-element的Progress进度条,redis

实现步骤

1 页面触发数据同步

2 后台进行数据同步处理

查询出当前时间戳(暂记为SJC),查询出需要同步的数据的总数量,以SJC_count作为key(并发概率极低,所以时间戳就能满足我的需求),总数量作为值,存入到redis中,然后开始进行同步数据的操作(异步方法),每完成一批数据的同步,将这批数据的数量增加到key为SJC的redis对应的值中(这个地方需要先获取SJC对应的值,然后在此基础上增加,所以需要加synchronized以防出现问题)
注:需要开启springboot的异步支持
参考代码:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

页面收到响应后进行处理

页面收到总数量和时间戳,然后每隔1秒(时间间隔根据业务需要来定)去后台查询执行进度(后台从redis中查SJC_count对应的值作为总数量,查SJC对应的值作为当前数量,然后求出进度返回给页面),当进度为100%时,终止定时任务。
参考代码:
在这里插入图片描述

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值