cancel
Showing results for 
Search instead for 
Did you mean: 

스케줄 관련 문의입니다.

hojunkim
Level 2
같은 리소스에서 실행한다는 조건하에 스케줄 실행 시 이전에 스케줄로 인해 실행되고 있던 프로세스가 계속 진행 중 이면 다음 프로세스가 실행이 안되는 것 같은데 실행되고 있을 때
다음 스케줄이  Pending  상태로는 못 만드는 건가요?
1 BEST ANSWER

Helpful Answers

BohyonHwang
Level 9
예약된 블루프리즘 프로세스가 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 #스케줄러
​​​​​​

View answer in original post

2 REPLIES 2

Neel1
MVP
Hello - usually this is ideal situation when you are using one port and if one process is running then other will not run on same resources.
although Run mode also plays a role but i am writing assuming that existing running process is using exclusive run mode object.

you can make schedule work one after the other by creating the task functionality while creating the schedule. this will be a serial execution.

BohyonHwang
Level 9
예약된 블루프리즘 프로세스가 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 #스케줄러
​​​​​​