이 작업은 원래 월요일부터 금요일까지 매일 오전 1시에 실행되었는데, 로그를 확인한 결과 일요일 20시에 실행된 것으로 확인되었습니다. 가능한 이유는 서버가 단일 코어 CPU입니다.
추가: 내 예약된 작업 클래스에는 두 개의 AB가 있습니다. 예약된 작업, 작업 A는 월요일부터 금요일까지 1시에 실행됩니다(@Scheduled(cron = "0 0 1 ? MON-FRI")). 작업 B는 매일 3시에 실행됨(@Scheduled(cron = "0 0 3 ? * ")), 로그를 확인하여 월요일부터 금요일까지 태스크 A가 먼저 실행된 다음 태스크 B, 즉 B가 실행됨을 확인 는 3시까지 기다리지 않고 실행되며 토요일과 일요일인 경우 태스크 B는 3시에 실행되지만 태스크 A는 일요일 20시에 실행됩니다. . .
예약된 작업의 풀 크기를 지정하지 않았나 봅니다. 따라서 기본적으로 모든 일정은 하나의 스레드를 공유합니다. 일정의 풀 크기를 지정해야 합니다
xml
으아악콩
으아악추가:
스레드를 공유하면 심각한 문제가 발생할 수 있습니다. A 작업이 2시간 이내에 실행되지 않으면 B 작업의 실행 시간이 지연되거나 심지어 실행되지도 않습니다.