背景:
公司项目有个需求, 前端上传excel文件, 后端读取数据、处理数据、返回错误数据, 最简单的方式同步处理, 客户端上传文件后一直阻塞等待响应, 但用户体验无疑很差, 处理数据可能十分耗时,...没人愿意傻等, 由于项目暂未使用ActiveMQ等消息队列中间件, 而redis的lpush和rpop很适合作为一种轻量级的消息队列实现, 所以用它完成此次功能开发
一、本文涉及知识点
1、excel文件读写...--阿里easyexcel sdk
2、文件上传、下载--腾讯云对象存储
3、远程服务调用--restTemplate
4、生产者、消费者--redisTemplate leftPush和rightPop..."状态
6、redis消费消息
7、读取cos文件, 异步处理数据
8、将错误数据以excel形式上传至cos, 以供用户下载, 并更新处理状态为"处理完成"
9、客户端轮询查询处理状态, 并可以下载错误文件...inputStream = HttpClientUtil.readFileFromURL(fileUrl);
List list = ExcelUtil.read(inputStream