schedulerUtil을 local, dev 둘다 실행 안되게 설정

This commit is contained in:
hehihoho3@gmail.com 2024-12-11 12:38:25 +09:00
parent 72bff1552f
commit b75a76c1b5
2 changed files with 32 additions and 27 deletions

View File

@ -408,6 +408,39 @@ public class FaxAddrServiceImpl extends EgovAbstractServiceImpl implements FaxAd
);
}
// step3
// => 팩스번호 빼고 바이트 체크해서 20byte만 짜르고 넣기
// => 팩스번호는 유효성 체크 하기
long startTime = System.currentTimeMillis();
// 유효성 체크 하이픈 제거, 유효하지 않은 번호는 리스트에서 제거
// 나머지 필드들 20byte (euc-kr) 체크 넘으면 자르기
AtomicInteger invalid = new AtomicInteger(0); // 스레드-안전(thread-safe)하게 정수 값을 업데이트할 있는 기능을 제공
faxAddrListVO.removeIf(faxAddr -> {
String phoneNo = faxAddr.getAddrPhoneNo();
if (isValidFaxNumber(phoneNo)) {
faxAddr.setAddrPhoneNo(phoneNo); // 하이픈이 제거된 유효한 번호 설정
trimFieldsBytes(faxAddr); // 다른 필드들에 대한 20바이트 체크 자르기
return false; // 유효한 번호는 제거하지 않음
} else{
invalid.getAndIncrement(); // 유효하지 않은 번호 개수 증가
return true; // 유효하지 않은 번호는 제거
}
});
long endTime = System.currentTimeMillis();
double executionTime = (endTime - startTime) / 1000.0;
System.out.println(" number chk Execution time: " + executionTime + " seconds");
startTime = System.currentTimeMillis();
System.out.println("addrListVO.size() : "+ faxAddrListVO.size());
try {
if(faxAddrListVO.size() > 0) {
// step2 신규 주소록 생성 북마크 체크
if ("NEW".equals(faxAddrListVO.get(0).getAddrGrpId())) {
FaxAddrGroupVO faxAddrGroupVO = new FaxAddrGroupVO();
@ -431,36 +464,7 @@ public class FaxAddrServiceImpl extends EgovAbstractServiceImpl implements FaxAd
for (FaxAddrVO faxAddr : faxAddrListVO) { faxAddr.setBookmark("N"); }
}
// step3
// => 팩스번호 빼고 바이트 체크해서 20byte만 짜르고 넣기
// => 팩스번호는 유효성 체크 하기
long startTime = System.currentTimeMillis();
// 유효성 체크 하이픈 제거, 유효하지 않은 번호는 리스트에서 제거
// 나머지 필드들 20byte (euc-kr) 체크 넘으면 자르기
AtomicInteger invalid = new AtomicInteger(0); // 스레드-안전(thread-safe)하게 정수 값을 업데이트할 있는 기능을 제공
faxAddrListVO.removeIf(faxAddr -> {
String phoneNo = faxAddr.getAddrPhoneNo();
log.info(" + phoneNo :: [{}]", phoneNo);
if (isValidFaxNumber(phoneNo)) {
faxAddr.setAddrPhoneNo(phoneNo); // 하이픈이 제거된 유효한 번호 설정
trimFieldsBytes(faxAddr); // 다른 필드들에 대한 20바이트 체크 자르기
return false; // 유효한 번호는 제거하지 않음
} else{
invalid.getAndIncrement(); // 유효하지 않은 번호 개수 증가
return true; // 유효하지 않은 번호는 제거
}
});
long endTime = System.currentTimeMillis();
double executionTime = (endTime - startTime) / 1000.0;
System.out.println(" number chk Execution time: " + executionTime + " seconds");
startTime = System.currentTimeMillis();
System.out.println("addrListVO.size() : "+ faxAddrListVO.size());
try {
if(faxAddrListVO.size() > 0) {
// 등록
faxAddrDAO.insertFaxAddrList(faxAddrListVO);
}else {

View File

@ -39,7 +39,7 @@ import net.javacrumbs.shedlock.core.SchedulerLock;
import net.javacrumbs.shedlock.provider.jdbctemplate.JdbcTemplateLockProvider;
import net.javacrumbs.shedlock.spring.annotation.EnableSchedulerLock;
@Profile("!local")
@Profile({"!local", "!dev"})
@Service("SchedulerUtil")
@EnableScheduling
@EnableSchedulerLock(defaultLockAtMostFor = "PT30S") // Scheduler Lock 사용 가능 설정 (기본 30초동안 Lock)
@ -89,7 +89,7 @@ public class SchedulerUtil {
private static final String ONE_MIN = "PT1M"; // 1분동안 LOCK
/*
* 2 마다 1주일 데이터에서 환불 대상을 찾아서 환불 한다.
* 10 마다 1주일 데이터에서 환불 대상을 찾아서 환불 한다.
* */
// Schdule Lock (10분동안)
@Scheduled(cron = "0 0/10 * * * ?")
@ -361,7 +361,7 @@ public class SchedulerUtil {
int nowDate =EgovDateUtil.nowDateToInt("yyyyMMdd");
// 전일 알림톡발송 통계 insert
// 전일 톡발송 통계 insert
FaxStatVO faxStatVO = new FaxStatVO();
faxStatVO.setStatStartDate(nowDate);
faxStatVO.setStatEndDate(nowDate);
@ -481,7 +481,8 @@ public class SchedulerUtil {
if ("ONE".equals(p_type)) { //하루에 한번만 31일 대상으로 실행
schdlrManageService.msgFailPayBackOneByDay();
}else { //2분 마다는 7일을 대상으로 실행
}else {
// 10분 마다 1주일 데이터에서 환불 대상을 찾아서 환불 한다.
//어플리케이션 트랜잭션 문제가 있어 Util 단으로 DB 호출을 가져옴 - 2024-03-14
//schdlrManageService.msgFailPayBack();