Files
kamco-cd-api/src/main/java/com/kamco/cd/kamcoback/scheduler/MapSheetMngFileJobController.java
2026-01-29 12:14:27 +09:00

153 lines
5.1 KiB
Java

package com.kamco.cd.kamcoback.scheduler;
import com.kamco.cd.kamcoback.scheduler.service.MapSheetMngFileJobService;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
@RequiredArgsConstructor
public class MapSheetMngFileJobController {
private final MapSheetMngFileJobService mapSheetMngFileJobService;
// 현재 상태 확인용 Getter
@Getter private boolean isSchedulerEnabled = false;
@Getter private boolean isFileSyncSchedulerEnabled = false;
@Getter private int mngSyncPageSize = 20;
// 파일싱크 진행여부 확인하기
@Scheduled(fixedDelay = 1000 * 10)
public void checkMngFileSync() {
if (!isSchedulerEnabled) {
return;
}
Integer mng = 0;
// isFileSyncSchedulerEnabled = false;
if (mapSheetMngFileJobService.checkMngFileSync() != null) {
mng = mapSheetMngFileJobService.checkMngFileSync();
this.isFileSyncSchedulerEnabled = true;
System.out.println(
"MngFileSyncJob --> mngYyyy : " + mng + ", currentTime : " + System.currentTimeMillis());
} else {
this.isFileSyncSchedulerEnabled = false;
System.out.println(
"MngFileSyncJob --> mngYyyy : " + mng + ", currentTime : " + System.currentTimeMillis());
}
}
@Scheduled(fixedDelay = 1000 * 10)
public void mngFileSyncJob00() {
if (!isSchedulerEnabled || !isFileSyncSchedulerEnabled) {
return;
}
System.out.println("mngFileSyncJob 00 Processing currentTime : " + System.currentTimeMillis());
mapSheetMngFileJobService.checkMapSheetFileProcess(0, mngSyncPageSize);
}
@Scheduled(fixedDelay = 1000 * 5)
public void mngFileSyncJob01() {
if (!isSchedulerEnabled || !isFileSyncSchedulerEnabled) {
return;
}
System.out.println("mngFileSyncJob 01 Processing currentTime : " + System.currentTimeMillis());
mapSheetMngFileJobService.checkMapSheetFileProcess(1, mngSyncPageSize);
}
@Scheduled(fixedDelay = 1000 * 5)
public void mngFileSyncJob02() {
if (!isSchedulerEnabled || !isFileSyncSchedulerEnabled) {
return;
}
System.out.println("mngFileSyncJob 02 Processing currentTime : " + System.currentTimeMillis());
mapSheetMngFileJobService.checkMapSheetFileProcess(2, mngSyncPageSize);
}
@Scheduled(fixedDelay = 1000 * 5)
public void mngFileSyncJob03() {
if (!isSchedulerEnabled || !isFileSyncSchedulerEnabled) {
return;
}
System.out.println("mngFileSyncJob 03 Processing currentTime : " + System.currentTimeMillis());
mapSheetMngFileJobService.checkMapSheetFileProcess(3, mngSyncPageSize);
}
@Scheduled(fixedDelay = 1000 * 5)
public void mngFileSyncJob04() {
if (!isSchedulerEnabled || !isFileSyncSchedulerEnabled) {
return;
}
System.out.println("mngFileSyncJob 04 Processing currentTime : " + System.currentTimeMillis());
mapSheetMngFileJobService.checkMapSheetFileProcess(4, mngSyncPageSize);
}
@Scheduled(fixedDelay = 1000 * 5)
public void mngFileSyncJob05() {
if (!isSchedulerEnabled || !isFileSyncSchedulerEnabled) {
return;
}
System.out.println("mngFileSyncJob 05 Processing currentTime : " + System.currentTimeMillis());
mapSheetMngFileJobService.checkMapSheetFileProcess(5, mngSyncPageSize);
}
@Scheduled(fixedDelay = 1000 * 5)
public void mngFileSyncJob06() {
if (!isSchedulerEnabled || !isFileSyncSchedulerEnabled) {
return;
}
System.out.println("mngFileSyncJob 06 Processing currentTime : " + System.currentTimeMillis());
mapSheetMngFileJobService.checkMapSheetFileProcess(6, mngSyncPageSize);
}
@Scheduled(fixedDelay = 1000 * 5)
public void mngFileSyncJob07() {
if (!isSchedulerEnabled || !isFileSyncSchedulerEnabled) {
return;
}
System.out.println("mngFileSyncJob 07 Processing currentTime : " + System.currentTimeMillis());
mapSheetMngFileJobService.checkMapSheetFileProcess(7, mngSyncPageSize);
}
@Scheduled(fixedDelay = 1000 * 5)
public void mngFileSyncJob08() {
if (!isSchedulerEnabled || !isFileSyncSchedulerEnabled) {
return;
}
System.out.println("mngFileSyncJob 08 Processing currentTime : " + System.currentTimeMillis());
mapSheetMngFileJobService.checkMapSheetFileProcess(8, mngSyncPageSize);
}
@Scheduled(fixedDelay = 1000 * 5)
public void mngFileSyncJob09() {
if (!isSchedulerEnabled || !isFileSyncSchedulerEnabled) {
return;
}
System.out.println("mngFileSyncJob 09 Processing currentTime : " + System.currentTimeMillis());
mapSheetMngFileJobService.checkMapSheetFileProcess(9, mngSyncPageSize);
}
// 3. 외부에서 플래그를 변경할 수 있는 Setter 메서드
public void setSchedulerEnabled(boolean enabled) {
this.isSchedulerEnabled = enabled;
this.isFileSyncSchedulerEnabled = false;
System.out.println("스케줄러 동작 상태 변경됨: " + (enabled ? "ON" : "OFF"));
}
public void setMngSyncPageSize(int pageSize) {
this.mngSyncPageSize = pageSize;
System.out.println("스케줄러 처리 개수 변경됨: " + pageSize);
}
}