feat(puzzle): 添加拼图生成异步处理能力

- 移除 @RequiredArgsConstructor 注解,改用手动构造函数注入
- 添加 ThreadPoolExecutor 实现拼图生成异步处理
- 新增 generateAsync 方法支持异步生成拼图
- 新增 generateSync 方法支持同步生成拼图
- 重构核心生成逻辑为 doGenerateInternal 方法供同步异步共用
- 在 FaceMatchingOrchestrator 中优化拼图模板生成逻辑
- 支持根据场景选择同步或异步生成模式
- 添加线程池队列大小监控和日志记录
This commit is contained in:
2026-01-01 21:26:34 +08:00
parent 44f5008fd1
commit f8374519c3
3 changed files with 225 additions and 118 deletions

View File

@@ -12,10 +12,29 @@ import com.ycwl.basic.puzzle.dto.PuzzleGenerateResponse;
public interface IPuzzleGenerateService {
/**
* 生成拼图图片
* 生成拼图图片(默认同步模式)
*
* @param request 生成请求
* @return 生成结果(包含图片URL等信息)
*/
PuzzleGenerateResponse generate(PuzzleGenerateRequest request);
/**
* 同步生成拼图图片
* <p>立即执行并阻塞等待结果返回</p>
*
* @param request 生成请求
* @return 生成结果(包含图片URL等信息)
*/
PuzzleGenerateResponse generateSync(PuzzleGenerateRequest request);
/**
* 异步生成拼图图片
* <p>提交到队列,由固定大小的线程池异步处理,不等待结果</p>
* <p>队列满时会降级为同步执行(CallerRunsPolicy)</p>
*
* @param request 生成请求
* @return 生成记录ID(可用于后续追踪状态)
*/
Long generateAsync(PuzzleGenerateRequest request);
}