You've already forked FrameTour-BE
- 移除 @RequiredArgsConstructor 注解,改用手动构造函数注入 - 添加 ThreadPoolExecutor 实现拼图生成异步处理 - 新增 generateAsync 方法支持异步生成拼图 - 新增 generateSync 方法支持同步生成拼图 - 重构核心生成逻辑为 doGenerateInternal 方法供同步异步共用 - 在 FaceMatchingOrchestrator 中优化拼图模板生成逻辑 - 支持根据场景选择同步或异步生成模式 - 添加线程池队列大小监控和日志记录
41 lines
1.1 KiB
Java
41 lines
1.1 KiB
Java
package com.ycwl.basic.puzzle.service;
|
|
|
|
import com.ycwl.basic.puzzle.dto.PuzzleGenerateRequest;
|
|
import com.ycwl.basic.puzzle.dto.PuzzleGenerateResponse;
|
|
|
|
/**
|
|
* 拼图图片生成服务接口
|
|
*
|
|
* @author Claude
|
|
* @since 2025-01-17
|
|
*/
|
|
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);
|
|
}
|