예약된 블루프리즘 프로세스가 Background Run Mode 프로세스라면 큐잉이 될 것 같습니다.
cf. RUN MODES in Blue Prism from
@Dave Morris chaneel
https://www.youtube.com/watch?v=0OKV2lz3GNw그런데 우리가 개발하는 대부분의 블루프리즘 프로세스는 Execlusive Mode가 될 것 같습니다.
그럴 경우 하나의 RR에 두 개의 Task 기동이 시도될 때는 최소한 하나는 에러가 발생하고 프로세스 실행이 실패할 것 같습니다.
그러므로 스케줄러 계획을 준비할 때 중복 기동으로 인한 스케줄링의 실패를 예방하는 것이 필요할 것입니다.
첫 번째 방식은
@Neeraj Kumar 제안에 따라 하나의 스케줄에 수행할 모든 프로세스를 체인으로 연결하는 방식입니다.
이 경우 연결되는 프로세스는 독립 실행용으로 개발된 프로세스여야 쉽게 관리할 수 있을 것입니다.
그렇지 않을 경우 On Exception에 설정할 다음 Task 작업이 복잡해질 가능성이 있기 때문입니다.
다른 방식으로는 특정한 RR을 지정한 스케줄링 대신 Resource Pool을 설정해서 항상 가용한 RR이 존재하도록 계획하는 것입니다.
이럴 경우 두 개의 프로세스 기동이 경합을 하지 않고 가용한 RR을 자동적으로 할당할 수 있습니다.
만일 꼭 경합하는 프로세스가 특정한 RR을 사용해야만 하는 경우라면
프로세스 큐잉을 수행하는 프로세스를 만드는 것을 고려해 볼 수 있겠습니다.
특정한 큐에서 RR에서 실행할 프로세스를 저장한 큐 아이템을 선택해서 하위 프로세스 방식으로 순차적 실행을 가능케 하는 프로세스를 제작하는 방법입니다.
마치 일종의 배치 작업 관리 시스템의 기능을 만드는 것입니다.
그러나 이 방법은 큐잉으로 인한 시간 지연이 있으므로 지정된 스케줄 시간을 정확히 지키지는 못할 수도 있을 것 같습니다.
#RunMode #런모드#Scheduler #스케줄러