
블루프리즘 작업 대기열
블루 프리즘 프로세스는 반복적인 작업을 수행하도록 설계
프로세스가 진행해야 하는 작업이나 항목은 외부 소스에서 제공된다.
목록형식에서 일부 항목은 처리를 완료하는데 방해가 되는 문제가 발생할 수 있다.
항목이 정상적으로 완료되거나 예외로 처리되더라도 강력한 감사를 위해 처리 결과를 기록해야 한다.
블루 프리즘의 작업대기열 (Work Queues)를 사용하는 것이 항상 권장된다.
Work Queues
Work Queues는 기본적으로 다 채워진 다음 프로세스에서 작업하는 항목 목록이다.
프로세스가 자체 워크로드를 관리할 수 있도록 구성할 수 있다.
프로세스가 대기열 내에서 항목을 작업하는 동안 문제가 발생하면, 문제에 대한 정보로 태그 를 지정할 수 있으며, 다음 작업 대기열에 저장된다.
프로세스가 주어진 시간에 처리하기에 항목이 너무 많으면, 여러 대의 디지털 워커가 동일한 프로세스를 실행 할 수 있다.
워크로드를 공유하기 위해 여러 대의 디지털 워커가 동일한 작업 대기열에서 동시에 항목을 요청 할 수 있으며, 각 디지털 워커는 처리할 작업 대기열에서 서로 다른 항목을 수신한다.
Working Items
블루프리즘은 소프트웨어 사전에 일부 비즈니스 객체를 설치해서 함께 제공한다.
이러한 내부 비즈니스 객체는 다이어그램이 아니며, 내부를 보거나 변경할 수 없다.
액션 스테이지를 통해서 프로세스에 사용된다.
Work Queues 비즈니스 객체라는 내부 비즈니스 객체가 존재하는데 프로세스와 작업 대기열 간의 연결을 제공하는 역할을 한다.
프로세스가 외부 소스에서 추출한 데이터를 작업 대기열 내에 저장 및 내부에서 관리하고 작업 가능.

Get Next Item 액션
프로세스에서 작업할 대기열의 첫 번째 대기 항목을 가져온다.
항목이 Work Queues(작업대기열)에 추가되면 전역 고유 식별자 또는 GUID라고 하는 고유 ID가 할당된다.
이 ID는 일련의 문자와 숫자로 구성되며 대기열 항목을 프로세스로 가져올 때 프로세스 데이터 항목에 저장된다.
항목과 관련된 소스데이터는 수집 스테이지에 저장
제어실 내에서 Work Queues는 대기열 내 각 항목의 상태를 전달하기 위해 다른 아이콘을 사용.
- 작업하지 않았거나 보류중인 항목은 세 개의 파란색 점 표시.
- 현재 프로세스에서 작업 중인 항목은 잠겨 있으므로 자물쇠로 표시
- 성공적으로 작업되고 완료된 항목은 녹색체크 표시
- 오류가 발생한 항목은 예외이며 보라색 깃발로 표시
step1.) Work Queues 비즈니스 객체를 사용하는 프로세스를 만들기.
1.1 액션 추가 >
속성에서 비즈니스 객체 드롭다운 메뉴에서 내부 비즈니스 객체 Wokr Queues 선택 >
액션 드롭다운 메뉴에서 Get Next Item 선택 >
Queue Name 입력 매개변수 값에 Queue1 입력 >
출력 탭 선택 > Store In 열의 자동 생성 아이콘을 사용 >
항목 ID를 저장할 데이터 항목을 생성하고 항목데이터를 저장할 수집 스테이지를 생성
Input tab

Output tab

1.2 종료 스테이지에 브레이크 포인트를 추가.
(프로세스가 실행 중인 동안 데이터 항목과 수집스테이지의 상태를 관찰할 수 있다.)

1.3 저장 및 실행
1.4 데이터 항목 및 컬렉션 속성을 보고 현재 값을 확인.
작업 대기열에서 전달된 값을 반영하고 있어야 함.

1.5 Control Room 의 Queue Management

위의 사진에서 자물쇠 아이콘으로 항목이 잠겨있는 것을 확인할 수 있는데,
잠겨있는 프로세스에서는 작업할 수 없다
step2.) Queue1에서 항목을 가져오고, 저장하고, 작업하기.
2.1 종료 스테이지 바로 앞에 액션 스테이지 추가 >
액션 속성에서 Work Queues 비즈니스 객체의 Mark Completed 액션 선택 >
입력 값에 Item ID 데이터 항목 사용 >

종료 스테이지에서 브레이크 포인트 제거 >
Mark Completed 액션을 마우스 오른쪽 버튼으로 클릭 >
Set Next Stage 선택 >
프로세스 실행 >
작업 대기열로 돌아가서 인터페이스 새로고침 >

step3.) 제어실의 작업 대기열 영역 내에서 항목이 저장되고 기록되는 방법 살펴보기.
3.1 프로세스에서 Mark Complete 작업을 Mark Exception 작업으로 변경 >
Exception Reason에 대한 값을 입력하고 Retry 값에 False를 입력 >
프로세스 재설정 후 실행 >

작업 대기열로 돌아가서 인터페이스 새로고침 >


step1.) Collection Stage 행을 초기 값으로 채우고 액션을 사용하여 컬렉션의 각 행을 작업 대기열에 각각의 작업 대기열 항목으로 입력.
1.1 Collection Stage 추가
Fields

Initial Values

Collection Stage 값은 표현식이 아니므로 텍스트 값에 따옴표가 필요하지 않는다.
1.2 Action Stage 추가

1.3 Control Room 에서 새 작업 목록 확인

step2.) 결정 스테이지를 만들고, 프로세스에 순환 경로를 만든다.
2.1 결정 스테이지 추가

step3.) 작업 대기열 내의 모든 항목을 작업하고 완료 시점을 결정한다.

Control Room


작업 대기열은 시스템 관리자의 워크플로 영역에서 생성하고 구성한다.
작업대기열에 Name과 Key Name을 지정할 수 있다.

Key Name은 수집 스테이지의 열 이름과 직접 연관된다.
작업 대기열에 새 항목을 추가하는 프로세스에서 사용된다.

새로운 항목의 값은 제어실의 대기열 관리 영역에 있는 item key에 나타난다.

item key 열에는 계좌번호나 정책번호와 같이 민감한 데이터는 저장하지 말아야 한다.
블루 프리즘 전체에서 볼 수 있는 식별자이기 때문이다.
워크 플로 영역에서 작업 대기열의 상태(Status)를 확인.

작업 대기열 내의 항목에 대한 재시도 횟수(Maximum Attempts)를 설정.

특정 작업 대기열과 상호 작용하는 프로세스에 대한 참조(Find Reference)를 찾는 것도 가능.
암호화 옵션(Encrypted)은 작업 대기열에 보관된 민감한 데이터를 보호하기 위해 사용가능.
블루프리즘 내의 데이터베이스에 암호화 되어 보관.
step1.) 새 작업 대기열을 생성하고 구성하며, Work Queue Item Processing 프로세스를 대기열의 항목에 대해 작업하도록 수정
1.1 System Manager의 워크플로 작업 대기열 영역으로 이동

1.2 Control Room에서 Queue2 확인

1.3 Work Queue Item Generation의 Collection Stage에서 기존 필드 제거 후 새 필드 저장
Fields

Initial Values

Action Stage

1.4 저장 후 실행

1.5 item Processing 의 Action Stage 수정

step2.) 계산 스테이지를 사용하여 Collection Stage 안에서 필드를 업데이트 하는 방법
2-1 계산 스테이지 추가
이 활동에서 예외는 비즈니스 예외가 된다.
데이터 컬렉션에서 Full-Time 플래그 값을 중심으로 어떤 결정 논리가 구성되어야 하므로
정규직은 완료로 표시하고 파트타임은 예외로 표시.

2-2 컬렉션 항목에서 새 필드 추가.
이필드는 항목이 처리되는 동안 값을 저장하는 데 사용.

2-3 프로세스 저장후 실행하면 새 항목을 작업 대기열에 입력
처리될 때 각 항목에 대한 시간 값을 기록하는 몇가지 논리 생성
작업 대기열 항목 작업에서 처리될 때 실행되는 계산 스테이지와 액션 스테이지를
Mark Complete 스테이지 및 Mark Exception 스테이지 앞에 추가.

계산 스테이지는 시간 값을 생성하고 컬렉션의 Summary 필드에 저장한다.

액션 스테이지에서는 이러한 항목 업데이트가 작업 대기열에 다시 저장되도록 한다.
Work Queues 비즈니스 객체의 Set Data 액션은 컬렉션의 각 항목의 변경을 작업 대기열에 다시 저장한다.

2-4 프로세스 실행하면 업데이트가 세션 로그에 표시


새 항목은 작업 날짜와 시간을 조정해서 지연시킬 수 있다.
항목 생성시 연기 날짜를 지정하면 작업 대기열은 해당 날짜까지 항목을 보류하고 효과적으로 동결한다. 따라서 작업 대기열에서 작업 중인 프로세스가 더이상 항목을 검색하지 못한다고 해도 반드시 대기열에 처리해야 할 항목이 없는 것은 아니다.
지정된 날짝까지 보류 중인 지연된 항목이 있을 수 있기 때문
Defer 는 프로세스에서 작업 중인 항목을 다시 작업 대기열로 릴리스하는 데 사용할 수도 있다.
항목을 완료 또는 예외로 할당할 필요가 없다.
항목을 일부만 처리한 다음 나중을 위해 동결하는데 유용하다.
Step1.) Add To Queue 액션을 이용 Defer Until 매개 변수 설정 , 대기열에 추가된 항목이 지정된 날짜 및 시간까지 프로세스에 Release 되지 않도로 한다.
1.1 Action Stage 속성의 DateUntil 을 5분 뒤로 연기 > 재설정 > 실행

1.2 Processing 실행 > 처리할 업무가 없음.

Step2.) 제어실에서 항목의 Deferal Date를 변경하여 연기 날짜를 수동으로 무시하는 방법
2.1 Queue Management에서 작업대기열에서 지연된 항목 중 하나를 선택
연기된 항목 식별가능 : Next Review 열에 날짜 값을 갖기 때문
Step3.) 프로세스 내에서 액션 스테이지를 사용하여 프로세스에서 작업 중인 항목을 연기하는 방법
3.1 Mark Complete 액션 스테이지를 Defer로 변경 > Until 입력 매개변수에 대한 표현식 입력

프로세스 또는 비즈니스 객체에서 Exception Retrying을 이용하여 복구 모드 내에 Retrying 로직을 구현 할 수 있다.
Retrying란 단순히 예외를 복구하고 그런 다음 흐름을 조정해서 다이어그램의 주요 부분으로 복귀하는 것을 의미하지만 다른 종류의 시도를 통해 문제를 해결하기 위한 것도 있다.
블루프리즘에서는 전체 항목이 프로세스에 의해 재작업되는데, 대기 중인 새 항목 시도인 것처럼 재작업할 수 있다. 단 예외시에만 적용!
완료된 항목은 재작업 할 수 없다.
시스템관리자의 작업 대기열 설정 섹션의 Max Attempts필드는 1이 기본값이다.
최대 시도 횟수가 1보다 크면 작업 대기열은 대기열 내에 원본과 같은 위치에 항목의 복제본을 만들고 삽입하여 예외 항목을 되살린다.
Step.) 정규직과 시간제 직원을 구분하도록 설정하기
Step.1) 시간제 성과를 작업 대기열의 예외 항목으로 표시
1.1 작업대기열을 설정 후 예외 항목을 최대 두 번 재작업 하도록 하기.
1.2 시스템 관리자의 워크플로 영역에서 Queue2의 Maxc Attempts값을 2로 변경
Step.2) Work Queue Item Generation을 위한 세션을 생성하고 실행해서 항목이 있는 작업 대기열 로드
2.1 페이지 설정에서 publish 체크

2.2 새로고침 후 드래그로 resource에 끌기

2.3 결과 확인

Step.2) Retry와 Keep Locked 입력 매개변수 사용
예외 항목을 더 잘제어할 수 있다.
Retry 가 True일 때 Max Attempts 제한에 도달하지 않은 경우 대기열에서 다른 시도를 생성
Retry 가 False일 때 Max Attempts를 무시하고 사용 가능한 시도 횟수에 관계없이 추가 시도를 하지 않는다.
Keep Locked가 True일 때 복제된 새 항목이 즉시 잠긴다.
프로세스는 이 새 항목에 대한 제어 권한을 가지며,
Keep Locked가 False일 때 계속 작업할 수 있다.
생성된 모든 새 항목은 모든 블루프리즘 프로세스에서 자유롭게 사용할 수 있으며 동일한 대기열에서 다음 항목으로 선택된다.
