test: 补充流水标签协调器日志
This commit is contained in:
@@ -9,10 +9,12 @@ import org.springframework.stereotype.Component;
|
||||
|
||||
import jakarta.annotation.Resource;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* 项目级流水标签重算协调器
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class ProjectBankTagRebuildCoordinator {
|
||||
|
||||
@@ -33,7 +35,11 @@ public class ProjectBankTagRebuildCoordinator {
|
||||
* @param operator 操作人
|
||||
*/
|
||||
public void submitManual(Long projectId, String modelCode, String operator) {
|
||||
log.info("【流水标签】手动重算开始排队: projectId={}, modelCode={}, operator={}",
|
||||
projectId, modelCode, operator);
|
||||
if (isProjectRunning(projectId)) {
|
||||
log.warn("【流水标签】项目已有运行中任务,拒绝手动重算: projectId={}, modelCode={}, operator={}",
|
||||
projectId, modelCode, operator);
|
||||
throw new ServiceException("当前项目标签正在重算中,请稍后再试");
|
||||
}
|
||||
|
||||
@@ -49,6 +55,8 @@ public class ProjectBankTagRebuildCoordinator {
|
||||
public void submitAuto(Long projectId, TriggerType triggerType) {
|
||||
CcdiBankTagTask runningTask = taskMapper.selectRunningTaskByProjectId(projectId);
|
||||
if (runningTask != null || runningProjects.containsKey(projectId)) {
|
||||
log.warn("【流水标签】项目正在重算,已标记完成后补跑: projectId={}, runningTaskId={}, triggerType={}",
|
||||
projectId, runningTask != null ? runningTask.getId() : null, triggerType);
|
||||
markNeedRerun(runningTask);
|
||||
return;
|
||||
}
|
||||
@@ -64,12 +72,15 @@ public class ProjectBankTagRebuildCoordinator {
|
||||
|
||||
private void executeWithLock(Long projectId, Runnable action) {
|
||||
if (runningProjects.putIfAbsent(projectId, Boolean.TRUE) != null) {
|
||||
log.warn("【流水标签】项目已有运行中任务,拒绝获取项目锁: projectId={}", projectId);
|
||||
throw new ServiceException("当前项目标签正在重算中,请稍后再试");
|
||||
}
|
||||
log.info("【流水标签】获取项目重算锁成功: projectId={}", projectId);
|
||||
try {
|
||||
action.run();
|
||||
} finally {
|
||||
runningProjects.remove(projectId);
|
||||
log.info("【流水标签】释放项目重算锁: projectId={}", projectId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user