P13 | 异步任务:后台长时间操作的最佳实践
P13 | 异步任务:后台长时间操作的最佳实践
💰付费文章| 第二阶段:后端开发
为什么需要异步任务?
有些操作耗时很长,不适合同步等待:
| 操作 | 耗时 | 是否需要异步 |
|---|---|---|
| 查询列表 | < 200ms | ❌ |
| 上传单张图片 | 1-3s | ⚠️ 可选 |
| 批量生成 ZIP 打包下载 | 10s-5min | ✅ 必须 |
| AI 人脸识别 | 3-10s | ✅ 必须 |
| 批量导入 Excel | 5-30s | ✅ 必须 |
**用户发起了操作,不应一直等待,应该:
- 立即返回一个「任务ID」
- 前端定时轮询任务状态
- 任务完成后返回结果/下载链接**
异步任务表设计
CREATE TABLE `LP_TASK` ( `COMM_ID` VARCHAR(32) NOT NULL PRIMARY KEY, `USER_ID` VARCHAR(32) NOT NULL COMMENT '创建者', `TASK_TYPE` VARCHAR(32) NOT NULL COMMENT '任务类型 ZIP_DOWNLOAD/FACE_DETECT', `TASK_STATUS` INT DEFAULT 0 COMMENT '0待处理 1处理中 2成功