This commit is contained in:
2025-03-08 15:46:24 +08:00
parent 50927481d2
commit c2ebbd71e2
35 changed files with 303 additions and 314 deletions

View File

@@ -64,6 +64,8 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors;
@@ -97,6 +99,7 @@ public class TaskFaceServiceImpl implements TaskFaceService {
private final FixedRateLimiter searchFaceLimiter = new FixedRateLimiter(200, TimeUnit.MILLISECONDS);
private final FixedRateLimiter deleteDbLimiter = new FixedRateLimiter(600, TimeUnit.MILLISECONDS);
private final FixedRateLimiter deleteEntityLimiter = new FixedRateLimiter(600, TimeUnit.MILLISECONDS);
private final ThreadPoolExecutor executor = new ThreadPoolExecutor(8, 1024, 0, TimeUnit.SECONDS, new ArrayBlockingQueue<>(1024));
@Autowired
private ScenicRepository scenicRepository;
@@ -224,7 +227,7 @@ public class TaskFaceServiceImpl implements TaskFaceService {
log.setMatchRawResult("识别错误,错误为:["+e.getLocalizedMessage()+"]");
throw new BaseException(e.getMessage());
} finally {
new Thread(() -> {
executor.execute(() -> {
if (log.getMatchRawRecord() != null) {
List<MatchLocalRecord> collect = log.getMatchRawRecord().parallelStream().map(item -> {
MatchLocalRecord record = new MatchLocalRecord();
@@ -251,7 +254,7 @@ public class TaskFaceServiceImpl implements TaskFaceService {
log.setMatchLocalRecord(JSON.toJSONString(collect));
}
logMapper.insert(log);
}).start();
});
}
}

View File

@@ -74,6 +74,8 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.ReentrantLock;
import java.util.stream.Collectors;
@@ -120,6 +122,7 @@ public class TaskTaskServiceImpl implements TaskService {
private TaskStatusBiz taskStatusBiz;
@Autowired
private DeviceRepository deviceRepository;
private final ThreadPoolExecutor executor = new ThreadPoolExecutor(8, 1024, 0L, TimeUnit.MILLISECONDS, new ArrayBlockingQueue<>(1024));
private RenderWorkerEntity getWorker(@NonNull WorkerAuthReqVo req) {
@@ -613,9 +616,9 @@ public class TaskTaskServiceImpl implements TaskService {
}
}
videoMapper.updateRelationWhenTaskSuccess(taskId, video.getId(), isBuy);
new Thread(() -> {
executor.execute(() -> {
sendVideoGeneratedServiceNotification(taskId);
}).start();
});
}
@Override