diff --git a/src/main/java/com/interplug/qcast/batch/JobLauncherController.java b/src/main/java/com/interplug/qcast/batch/JobLauncherController.java index 12c00301..45a90a0f 100644 --- a/src/main/java/com/interplug/qcast/batch/JobLauncherController.java +++ b/src/main/java/com/interplug/qcast/batch/JobLauncherController.java @@ -42,6 +42,9 @@ public class JobLauncherController { @Value("${server.port:8080}") private int serverPort; + @Value("${batch.scheduler-port:8080}") + private int schedulerPort; + /** * 서버 시작 시 실행 중(STARTED)인 상태로 남은 Job들을 FAILED 처리 */ @@ -256,10 +259,10 @@ public class JobLauncherController { * 공통 스케줄러 실행 메소드 */ private String executeScheduledJob(String jobName) throws JobInstanceAlreadyCompleteException, JobExecutionAlreadyRunningException, JobParametersInvalidException, JobRestartException { - // 8080 포트 인스턴스에서만 스케줄러 실행 (멀티 인스턴스 데드락 방지) - if (serverPort != 8080) { - log.debug("스케줄러는 8080 포트 인스턴스에서만 실행됩니다. 현재 포트: {}, Job: {} 스킵", serverPort, jobName); - return "Scheduler runs only on port 8080. Current port: " + serverPort; + // 스케줄러 전용 포트 인스턴스에서만 실행 (멀티 인스턴스 데드락 방지) + if (serverPort != schedulerPort) { + log.debug("스케줄러는 {} 포트 인스턴스에서만 실행됩니다. 현재 포트: {}, Job: {} 스킵", schedulerPort, serverPort, jobName); + return "Scheduler runs only on port " + schedulerPort + ". Current port: " + serverPort; } Job job = jobs.get(jobName); diff --git a/src/main/resources/config/application-dev.yml b/src/main/resources/config/application-dev.yml index 65f0a985..53d3bc51 100644 --- a/src/main/resources/config/application-dev.yml +++ b/src/main/resources/config/application-dev.yml @@ -25,6 +25,10 @@ spring: enabled: false profiles: scheduler: N + +#batch +batch: + scheduler-port: 8090 #QSP url 하나시스운영 #https://jp.qsalesplatform.com #QSP url 하나시스개발 #http://121.168.9.37:8080 #QSP url interplug dev #http://1.248.227.176:8120