다중 인스턴스 루프의 활동 구성
다중 인스턴스 루프를 사용하여 동일한 활동의
다중 고유 인스턴스를 동적으로 순차 실행 또는 병렬 실행할 수 있습니다. 다중 인스턴스 루프가 구성된
활동을 실행하면 활동의 각 인스턴스마다 고유 토큰이 작성됩니다
시작하기 전에
프로시저
다중 인스턴스 루프에 대한 활동을 구성하려면 다음 단계를 따르십시오.
- 프로세스를 열고 구성하려는 활동을 선택하십시오.
- 특성에서 일반을 선택하십시오.
- 루프 를 펼치고 루프 유형 목록에서 다중 인스턴스 루프 를 선택하십시오.
- 시작 수량의 값을 설정하십시오.이 값은 런타임에 작성되는 인스턴스 수를 설정합니다. 이 설정에 사용할 수 있는 변수를 지정하려면 변수 아이콘을 클릭하여 변수를 선택하거나 시작 수량 상자에 변수 이름을 입력하십시오.참고: 각 루프 활동 인스턴스를 목록의 특정 항목과 연관시키는 방법에 대한 정보는 루프 활동 인스턴스를 다른 항목과 연관시키기 를 참조하십시오..
- 순서 지정 목록에서 다음 옵션 중 하나를 선택하십시오.
옵션 설명 순차 실행 활동의 마지막 인스턴스가 완료될 때까지 결과적인 인스턴스가 순차적으로 실행됩니다. 병렬 실행 모든 인스턴스가 완료되거나 지정한 조건이 충족될 때까지 결과적인 인스턴스가 동시에 실행됩니다. - 병렬 순서 지정의 경우 플로우 조건 목록에서 다음 옵션 중 하나를 선택하십시오.
옵션 설명 모두 완료될 때까지 대기(모두) 활동의 모든 결과적인 인스턴스가 완료될 때까지 계속해서 루프를 수행합니다. 조건부 대기(복합) 다음 단계에서 지정하는 조건이 충족될 때까지 계속해서 루프를 수행합니다. - 복합 플로우 조건의 경우 JavaScript 를 입력하여 복합 플로우 조건 상자에 해당 조건을 구현하십시오.
런타임에 복합 조건의 다중 인스턴스 루프가 false로 평가되는 경우 루프는 활성 인스턴스를 닫고 다음 활동으로 이동하지 않습니다. BPMN 2.0 스펙(섹션 13.2.7 다중 인스턴스 활동)이 false 평가에 대한 지침을 제공하지 않으므로 이는 기본 동작입니다. 토큰을 다음 활동으로 이동시키려면
OR
부울 표현식을 사용하십시오. - 이전 조건이 충족될 때 활동의 활성 인스턴스를 취소하려면 나머지 인스턴스 취소를 선택하십시오.다중 인스턴스 루프의 런타임 동작은 태스크가 구현된 방식에 따라 다릅니다. 태스크 컨텐츠에 서버 스크립트만 포함되었을 때와 서비스도 포함되었을 때의 동작은 차이가 있습니다. 예를 들어, 순서 지정이 병렬 실행으로 선택되고, 올바른 복합 플로우 조건이 있으며, 나머지 인스턴스 취소가 true로 설정된 루프는 다음과 같이 실행합니다.
- 루프 컨텐츠에 서버 스크립트만 포함: 다중 인스턴스 루프 태스크 컨텐츠에 서버 스크립트만 지정하면 루프의 다양한 인스턴스가 순차적으로 실행됩니다. 따라서 모든 인스턴스가 종료할 때까지 순차적으로 실행하며 모든 태스크 인스턴스가 종료하면 순차적으로 종료 조건이 확인됩니다.
- 루프 컨텐츠에 사용자, 의사결정 또는 시스템 서비스 포함: 루프 태스크 컨텐츠에 사용자, 의사결정 또는 시스템 서비스가 포함되면 태스크가 자체 스레드 내에서 병렬로 인스턴스화됩니다. 예를 들어, 시스템 서비스에서 종료 조건이 설정되면 시스템 서비스 태스크가 완료될 때 다중 인스턴스 루프에 결과가 다시 제공됩니다. 그런 다음 조건이 평가되고 다중 인스턴스 루프 태스크가 완료되면 여전히 실행 중인 다른 모든 루프 인스턴스가 종료됩니다.
- 저장 또는 편집 완료를 클릭하십시오.클라이언트 측 휴먼 서비스용 변수 선언에 대한 자세한 내용은 변수 선언하기를 참조하세요