You've already forked FrameTour-BE
feat(puzzle): 添加拼图生成异步处理能力
- 移除 @RequiredArgsConstructor 注解,改用手动构造函数注入 - 添加 ThreadPoolExecutor 实现拼图生成异步处理 - 新增 generateAsync 方法支持异步生成拼图 - 新增 generateSync 方法支持同步生成拼图 - 重构核心生成逻辑为 doGenerateInternal 方法供同步异步共用 - 在 FaceMatchingOrchestrator 中优化拼图模板生成逻辑 - 支持根据场景选择同步或异步生成模式 - 添加线程池队列大小监控和日志记录
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user