From ec963aa4bc7fdf9a5d725b54965ce3f405148f1c Mon Sep 17 00:00:00 2001 From: cha Date: Thu, 17 Jul 2025 08:47:55 +0900 Subject: [PATCH] =?UTF-8?q?job=20=EC=9C=84=EC=B9=98=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../qcast/batch/JobLauncherController.java | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/interplug/qcast/batch/JobLauncherController.java b/src/main/java/com/interplug/qcast/batch/JobLauncherController.java index eb4fd3d5..f9a904d0 100644 --- a/src/main/java/com/interplug/qcast/batch/JobLauncherController.java +++ b/src/main/java/com/interplug/qcast/batch/JobLauncherController.java @@ -170,31 +170,35 @@ public class JobLauncherController { * 공통 스케줄러 실행 메소드 */ private String executeScheduledJob(String jobName) { + // 1. 가장 먼저 스케줄러 설정 확인 + if (!"Y".equals(scheduler) && !"materialJob".equals(jobName) && !"commonCodeJob".equals(jobName)) { + log.info("Scheduler disabled, skipping job {}", jobName); + return "Scheduler disabled"; + } + + // 2. Job 존재 확인 Job job = jobs.get(jobName); if (job == null) { log.error("Job {} not found", jobName); return "Job " + jobName + " not found"; } - if (!"Y".equals(scheduler) && !"materialJob".equals(jobName) && !"commonCodeJob".equals(jobName)) { - log.info("Scheduler disabled, skipping job {}", jobName); - return "Scheduler disabled"; - } - - // 실행 중인 Job 확인 - if (runningJobs.contains(jobName) || isJobRunning(jobName)) { - log.warn("Job {} is already running, skipping execution", jobName); - return "Job already running"; - } - - // 다른 Job이 실행 중인지 확인 + // 3. 다른 Job 실행 중인지 확인 if (isAnyJobRunning()) { log.warn("Another job is running, skipping job {}", jobName); return "Another job is running"; } + // 4. 같은 Job이 실행 중인지 확인 + if (runningJobs.contains(jobName) || isJobRunning(jobName)) { + log.warn("Job {} is already running", jobName); + return "Job already running"; + } + + // 5. Job 실행 try { runningJobs.add(jobName); + log.info("Starting job {}", jobName); JobParameters jobParameters = new JobParametersBuilder() .addDate("time", new Date())