cancel
Showing results for 
Search instead for 
Did you mean: 

blue prism 작업 스케줄 문의

ruyjiho
Level 3

안녕하세요 블루프리즘의 스케줄 작업 중 궁금한 점이 있어 문의 드립니다.

현재 테스트 프로세스로 2가지의 프로세스가 존재한다는 가정 하에

1번 프로세스는 11시 정각에 30분 동안 작동하며 이후 데이터 작업량에 따라 작업 시간이 1시간 까지 작동하는 프로세스이며 2번 프로세스는 11시 40분에 작동해야 하는 프로세스 입니다.

다음과 같은 상황의 경우 1번 프로세스가 30분 동안 작동한다면 문제는 발생하지 않지만 1시간 동안 작동하게 되면 2번 프로세스의 스케줄 예약이 작동하지 않는 현상을 확인하였습니다.

다음과 같은 상황에 2번 프로세스가  1번 프로세스의 스케줄 예약 작업이 끝난 후에 바로 작동할 수 있는

 방법이 있는지 문의 드립니다.

현재 찾아본 방법으로는 blueprism mssql 서버의 "dbo.BPAScheduleLog" 테이블에 스케줄 예약 시간에

정상적으로 작동되지 않는 경우  다음과 같이 "firereason" column에 1로 표기가 되어 이를 활용할 수 있는지에 관해서도 안내해주시면 감사하겠습니다.

35631.png

감사합니다.

1 BEST ANSWER

Best Answers

Dohyeong.Kim
Staff
Staff

안녕하세요, 류지호 대리님

아래 2가지 방법을 제안 드립니다.

방법1. Schedule에 연달아 진행할 프로세스 1번, 프로세스 2번을 함께 구성하고, 프로세스 1번이 완료되었을때 프로세스 2번을 호출하도록 구성.

1번이 완료된 후 2번이 호출되어 실행됩니다.

35630.png

방법2. 워크 큐의 큐 아이템을 1개만 생성한 후, 11시 40분, 12시에 각각 스케쥴을 걸어 진행하게 하는 방법. 

작업 수행 여부를 워크 큐 속 큐 아이템의 존재로 판단하게 하는 방법입니다. 하루에 1번 진행한다면, 워크 큐에 큐 아이템을 1개씩 넣어줘야 하는 별도의 프로세스가 필요합니다. 

워크 큐에 작업 아이템을 매일 1개 생성(예: 오전 5시에 작업 수행)한다. 10시 반에 스케쥴 예약, 11시에 스케쥴을 예약 한다.

10시 반에 스케쥴이 실행되었으나 DW가 대상 RR에서 작업 중이여서 실패한다.  -> 11시에 스케쥴이 실행되고 워크 큐의 작업 아이템을 확인하고 소모하며 작업을 한다.

10시 반에 스케쥴이 실행되었고 워크 큐의 작업 아이템을 확인하고 소모하며 작업을 한다. -> 11시에 스케쥴이 실행되었으나 워크 큐에 작업 아이템이 없어서 종료된다.

dbo.BPAScheduleLog 테이블에 firereason의 값은 딕셔너리를 확인해보니, 아래와 같이 확인 됩니다. 작업 실패 여부를 판단해서 재시도 하는 방안을 고려하기에는 적합한 테이블과 칼럼으로 보이지 않습니다. 위 2가지 방법을 추천 드립니다.

firereason은 이 인스턴스가  종료된 이유를 표시 합니다. 

  • 0=Normal Scheduler Execution, 
  • 1=Misfire: Missed while scheduler not running,
  • 2=Misfire: Timezone changing,
  • 3=Misfire: indeterminate trigger

적합하지 않다고 의견 드리는 이유로는, Session이 충돌이 나서 작업이 실행되지 않은 경우에도 Schedule log에는 0으로 표시되는 것이 확인되었기 때문입니다. 위의 예시로 보여주신 Screenshot에서 1로 표기된 것은 다른 이유 같아 보입니다. dbo.BPAScheduleLogEntry 테이블에 terminationreason 칼럼을 보시면 실패한 원인이 text로 남아 있으실 겁니다.

감사합니다.

View answer in original post

1 REPLY 1

Dohyeong.Kim
Staff
Staff

안녕하세요, 류지호 대리님

아래 2가지 방법을 제안 드립니다.

방법1. Schedule에 연달아 진행할 프로세스 1번, 프로세스 2번을 함께 구성하고, 프로세스 1번이 완료되었을때 프로세스 2번을 호출하도록 구성.

1번이 완료된 후 2번이 호출되어 실행됩니다.

35630.png

방법2. 워크 큐의 큐 아이템을 1개만 생성한 후, 11시 40분, 12시에 각각 스케쥴을 걸어 진행하게 하는 방법. 

작업 수행 여부를 워크 큐 속 큐 아이템의 존재로 판단하게 하는 방법입니다. 하루에 1번 진행한다면, 워크 큐에 큐 아이템을 1개씩 넣어줘야 하는 별도의 프로세스가 필요합니다. 

워크 큐에 작업 아이템을 매일 1개 생성(예: 오전 5시에 작업 수행)한다. 10시 반에 스케쥴 예약, 11시에 스케쥴을 예약 한다.

10시 반에 스케쥴이 실행되었으나 DW가 대상 RR에서 작업 중이여서 실패한다.  -> 11시에 스케쥴이 실행되고 워크 큐의 작업 아이템을 확인하고 소모하며 작업을 한다.

10시 반에 스케쥴이 실행되었고 워크 큐의 작업 아이템을 확인하고 소모하며 작업을 한다. -> 11시에 스케쥴이 실행되었으나 워크 큐에 작업 아이템이 없어서 종료된다.

dbo.BPAScheduleLog 테이블에 firereason의 값은 딕셔너리를 확인해보니, 아래와 같이 확인 됩니다. 작업 실패 여부를 판단해서 재시도 하는 방안을 고려하기에는 적합한 테이블과 칼럼으로 보이지 않습니다. 위 2가지 방법을 추천 드립니다.

firereason은 이 인스턴스가  종료된 이유를 표시 합니다. 

  • 0=Normal Scheduler Execution, 
  • 1=Misfire: Missed while scheduler not running,
  • 2=Misfire: Timezone changing,
  • 3=Misfire: indeterminate trigger

적합하지 않다고 의견 드리는 이유로는, Session이 충돌이 나서 작업이 실행되지 않은 경우에도 Schedule log에는 0으로 표시되는 것이 확인되었기 때문입니다. 위의 예시로 보여주신 Screenshot에서 1로 표기된 것은 다른 이유 같아 보입니다. dbo.BPAScheduleLogEntry 테이블에 terminationreason 칼럼을 보시면 실패한 원인이 text로 남아 있으실 겁니다.

감사합니다.