diff --git a/src/main/java/com/interplug/qcast/batch/JobLauncherController.java b/src/main/java/com/interplug/qcast/batch/JobLauncherController.java index 284a7d51..ebcdf9cf 100644 --- a/src/main/java/com/interplug/qcast/batch/JobLauncherController.java +++ b/src/main/java/com/interplug/qcast/batch/JobLauncherController.java @@ -218,10 +218,32 @@ public class JobLauncherController { return "Job " + jobName + " not found"; } - if (!"Y".equals(scheduler) && !"materialJob".equals(jobName) && !"commonCodeJob".equals(jobName) && !"specialNoteDispItemAdditionalJob".equals(jobName)) { - log.info("Scheduler disabled, skipping job {}", jobName); - return "Scheduler disabled"; - } +// if (!"Y".equals(scheduler) && +// !"materialJob".equals(jobName) && +// !"commonCodeJob".equals(jobName) && +// !"specialNoteDispItemAdditionalJob".equals(jobName) && +// !"planConfirmJob".equals(jobName) && +// !"estimateSyncJob".equals(jobName) && +// !"bomJob".equals(jobName)){ +// log.info("Scheduler disabled, skipping job {}", jobName); +// return "Scheduler disabled"; +// } + + // 허용된 작업 목록 정의 + Set allowedJobs = new HashSet<>(Arrays.asList( + "materialJob", + "commonCodeJob", + "specialNoteDispItemAdditionalJob", + "planConfirmJob", + "estimateSyncJob", + "bomJob" + )); + + // 스케줄러가 비활성화되어 있고, 허용된 작업이 아닌 경우 + if (!"Y".equals(scheduler) && !allowedJobs.contains(jobName)) { + log.info("스케줄러가 비활성화되어 작업을 건너뜁니다: {}", jobName); + return "Scheduler disabled"; + } // 실행 중인 Job 확인 (데이터베이스 기반) if (isJobRunning(jobName)) {