스케줄을 구동 하기 위해서는 백그라운드(Service), 포그라운드(BPserver(Application)) 방법이 있는 것으로 알고 있습니다.
===> 스케쥴을 구동하기 위한 별도의 프로세스가 따로 존재하지 않습니다.
===> 포그라운드이든 백그라운드이든 블루프리즘 애플리케이션 서버가 기동이 되면 블루프리즘 스케쥴러도 자동으로 작동을 합니다(System>Scheduler>Configuration 활성화 설정 필요).
===> 블루프리즘 애플리케이션 서버는 백그라운드(서비스 이름: Blue Prism Server)로 구동하는 것을 권장합니다.
포그라운드 의 경우 한 IP 주소의 1개의 사용자가 접속 하여 스케줄을 수행 할 때 사용 하고 있으며
백그라운드 의 경우 한 IP 주소의 여러개의 사용자가 접속 하여 스케줄을 수행 할 때 사용 하고 있습니다.
Ex) 포그라운드 : IP 주소(111.22,333,001 )의 사용자(BP123)
백그라운드 :IP 주소(111.22,333,001 )의 사용자(BP123, BP124, BP125, BP126...)
처음에는 포그라운드 방법으로 스케줄을 실행 하고 있었으나 현업의 요청으로 인하여 백그라운드 방법으로 변경을 하였습니다.
사용하던 IP 주소는 총 3개(001, 002, 003) 였는데 002, 003은 정상적으로 백그라운드로 전환이 되었습니다.
다만 001만 백그라운드로 전환이 되지 않았는데 원인을 파악 해 보니 백그라운드와 포그라운드의 포트가 충돌하기 떄문이었습니다.
저희 회사 동료가 001 IP 주소도 백그라운도 실행 시키기 위해 여러 시도를 하던 중 1개의 BPserver(Application) 만 실행을 시키고 있어도 001, 002, 003 IP 주소의 모든 스케줄이 정상적으로 돌아가게 되었습니다.
===> 블루프리즘 서버는 별도의 설정(DB, IP, Port 등)으로 여러 개의 서버를 기동할 수도 있습니다만, 오직 하나의 프로세스만 실행하는 것을 권장합니다.
===> 포그라운드로 수행하려면 백그라운드로 실행 중인 서비스를 정지시키야 합니다.
===> 스케쥴러는 사용자 접속과 상관없이 블루프리즘 서버가 기동되면 함께 수행됩니다.
다만 따로 기록을 하면서 실험을 하지 않아 어떻게 하였더니 그렇게 되었는지는 모릅니다.
현재 001 은 BPserver(Application)도 실행되지 않고 있으며 서비스도 실행 되고 있지 않으나 스케줄이 정상적으로 돌아가고 있습니다. 다른 IP 주소에서도 BPserver(Application) 은 실행 시키고 있지 않습니다.
===> BPServer가 실행되지 않고 있고 서비스도 실행되지 않으면 스케쥴도 수행되지 않으므로, 어딘가 모르는 곳에서 수행되는 프로세스가 있다고 판단됩니다.
이벤트 뷰어를 통해 로그를 살펴 보니 서비스가 실행 되는 002, 003은 스케줄 실행 전 서비스가 실행 되는 로그를 확인 하였으나 001의 경우 서비스가 실행 되지는 않았습니다.
BluePrism.AutomateAppCore.clsListener
Created session: 4ab9b3ba-9916-4f49-b0ce-93c46677ae94; process: BP_0001_Test_TestBP; Run Mode: Exclusive
와 같이 로그가 기록 되고 있습니다.
===> 위의 로그를 보면 스케쥴러가 process를 실행시켰다는 사실을 확인할 수 있습니다.
어떻게 스케줄이 정상적으로 실행 될 수 있는지 확인 할 수 있는 방법이 있을까요?
===> 블루프리즘 서버가 기동되면 스케쥴러는 자동적으로 기동을 합니다.
===> 등록된 스케쥴의 프로세스가 수행이 되었는지 확인을 하려면 컨트롤룸>스케쥴러>리포트에서 확인하면 됩니다. 또는 위와 같이 이벤트 로그를 참조하셔도 됩니다.
#Scheduler #스케줄러