排版的业务逻辑:
前端调用 /startFormat 接口后,会立即得到响应,但需要通过轮询机制主动调用查询接口 /queryFormat查询排版任务的进度和结果。
在 startFormat 方法中,如果前端用户调用该接口,但异步排版任务尚未完成,后端会立即返回响应,而不是等待排版任务结束。具体行为如下:
- 立即返回响应:
startFormat 方法在启动异步任务后会立即返回,不会阻塞等待排版完成;
前端会收到一个表示任务已提交成功的响应(通常是 HTTP 200 状态码)。 - 前端查询排版状态:
前端需要通过轮询 queryFormat 接口来获取排版任务的实时状态;
后端会在 Redis 中保存排版任务的状态(如"处理中"、"已完成"、"失败"等),前端可以根据这些状态更新 UI。 - 异步任务状态管理:
在 startFormat 方法中,任务状态会被设置为 PROCESSING(处理中),并保存到 Redis 中;
异步任务 doFormatAsync 会在后台执行排版逻辑,并在完成后更新 Redis 中的任务状态。