작업명세서 즉시/예약 실행 기능에 대한 개괄적인 구조 설계
클라이언트
는 작업명세서 ApiController
의 즉시 실행 API를 호출작업명세서 ApiController
는 작업명세서 Service
의 즉시 실행 메소드를 호출하여 작업명세서 id를 전달한다.작업명세서 Service
의 즉시 실행 메소드는 다음과 같은 과정으로 이루어짐작업명세서 Repository
에서 작업명세서 id로 작업명세서 정보를 불러옴SSH Service
에 로봇 접속을 요청SSH Service
에 명령어 실행 요청SSH Service
는 SSH로 명령어 실행 후, 출력된 로그를 작업명세서 Service
로 전달작업명세서 Service
는 전달받은 로그를 작업명세서 ApiController
에 전달작업명세서 ApiController
는 클라이언트로 로그 전달Scehdular
는 매일 23시 58분에 RegisterJobDescriptionJob
실행RegisterJobDescriptionJob
은 DB에서 오늘 실행될 작업명세서 id와 스케줄을 불러옴RegisterJobDescriptionJob
은 Scehdular
에 불러온 작업명세서 id를 ExecutionJobDescriptorJob
에 전달하고 ExecutionJobDescriptorJob
를 스케줄에 맞게 등록초 분 시 1/1 * ? *
초 분 시 일 월 년
Scehdular
는 ExecutionJobDescriptorJob
를 실행 ExecutionJobDescriptorJob
는 작업명세서 Service
의 즉시 실행 메소드 호출