기본 시스템의 워크플로우 이벤트
기본 시스템에서 여러 워크플로우 이벤트를 사용할 수 있습니다.
| 이벤트 | 설명 | 목적 | 사용 방법 | 소스 | 스레드 | 수신기 |
|---|---|---|---|---|---|---|
| activityComplete | onActivityComplete 이벤트 핸들러에 응답하기 위해 활동 정의에서 사용하는 문자열 값입니다. | 워크플로우 실행 활동 [wf_executing] 테이블의 기록에 동일한 워크플로우 컨텍스트에서 다른 활동의 완료를 알립니다. | 활동에서 wf_executing.notify_termination에 대한 부울 값을 설정할 수 있는 경우 onExecute 이벤트 중에 값을 true(activity.notify_termination = true)로 설정합니다. |
워크플로우 엔진, 프로세스 종료 | 현재 스레드, 현재 뮤텍스 | 활동 참여 |
| otherEvent | otherEvent에 응답하기 위해 조인 활동에서 사용하는 문자열 값입니다. | 완료된 otherEvent에 대해 워크플로우 실행 활동 [wf_executing] 테이블의 기록에 알립니다. | 조인 활동은 n개의 선행 활동에서 전환됩니다. 이러한 선행 활동은 모두 wf_executing 기록을 생성하여 기록이 이미 존재하는지 확인합니다. 조인이 이미 존재하는 경우 실행 중인 전환에 의해 생성된 조인이 삭제할 wf_executing 기록을 설정합니다. | 활동 참여 | 현재 스레드, 현재 뮤텍스 | 조인 활동, onOtherEvent 이벤트 핸들러 |
| 타이머 | 만료된 타이머 활동에 응답하기 위해 워크플로우 활동에서 사용하는 문자열 값입니다. | 타이머 이벤트를 완료하고 실행한 타이머 활동에 대해 기록wf_executing 알릴 수 있습니다. | 타이머 활동은 스크립트를 호출하는 작업을 예약합니다. 스크립트가 fireEvent(wf_executing, 타이머)를 호출합니다. | 예약된 작업을 통한 타이머 활동 | 작업자 스레드, 개인 뮤텍스 | 타이머 활동, onTimer 이벤트 핸들러 |
| 실행 | 만료된 타이머 활동에 응답하기 위해 워크플로우 활동에서 사용하는 문자열 값입니다. | 기본 작업을 계속하기 위해 실행 중의 초기 상태를 wf_executing 테이블의 기록에 알립니다. | 워크플로우 엔진은 실행된 각 전환에 대해 실행 중 상태의 실행 기록을 생성합니다. 생성되면 실행 기록은 처리를 위해 큐에 놓입니다. 큐의 각 항목에 대해 Rhino 전역이 설정되고, 실행 레코드를 구동하는 활동 정의가 인스턴스화되고, run() 함수가 호출됩니다. 기록의 상태가 실행 중이면 이 함수는 항상 onExecute를 호출합니다. | WFActivity 핸들러를 통한 워크플로우 엔진 | 현재 스레드, 현재 뮤텍스 | 모든 활동, onExecute 이벤트 핸들러 |
| 실행( 잠금에만 해당) | 특정 잠금을 얻기 위해 다시 시도할 준비가 된 대기 중인 잠금에 응답하기 위해 잠금 활동에서 사용하는 문자열 값입니다. 이 실행은 지정된 간격으로 별도의 스레드에서 호출되고 외부 이벤트로 처리되므로 이전 실행과 다릅니다. | 실행 대기 중인 wf_executing 기록에 지정된 대기 간격이 지났으며 잠금을 다시 가져와야 함을 알립니다. | 잠금 활동은 워크플로우 스크립트 포함의 fireEvent(wf_executing, 'execute') 메서드를 사용하는 스크립트로 작업을 예약합니다. | 예약된 작업을 통한 활동 잠금 | 작업자 스레드, 개인 뮤텍스 | 잠금 활동, onExecute 이벤트 핸들러 |
| determineApprovalState | 현재 기록의 전체 승인 상태 변경에 대응하기 위해 승인 활동에서 사용하는 문자열 값입니다. | 타이머 이벤트를 완료하고 트리거한 승인에 대해 승인 활동에 대한 wf_executing 기록에 알립니다. | 승인 코디네이터 는 이벤트를 등록하고 이벤트를 트리거합니다. 하위 승인에는 승인 상태를 결정하는 수신기가 있습니다. | 승인 코디네이터 는 onExecute 중에 이벤트를 트리거합니다. | 현재 스레드, 현재 뮤텍스 | 승인 코디네이터, 승인 - 사용자 및 승인 - 그룹 에는 모두 onDemineApprovalState 이벤트 핸들러가 있습니다. 상태가 요청됨이 아닌 경우 활동은 완료된 것으로 간주되고 승인 상태(승인됨, 거부됨, 취소됨)는 wf_executing.result 열로 설정됩니다 |
| 취소(활동 정의 내에서) | 취소 요청에 응답하기 위해 워크플로우 활동에서 사용하는 문자열 값입니다. | 워크플로우가 취소되고 있음을 컨텍스트의 모든 wf_executing 기록에 알립니다. | 종료 활동은 전역 workflow.broadcastEvent('cancel')를 사용하여 현재 실행 중인 wf_executing 기록을 중단합니다. 이렇게 하면 해당 기록의 상태가 취소됨으로 변경됩니다. | 활동 종료 | 현재 스레드, 현재 뮤텍스 | 모든 활동, onCancel 이벤트 핸들러 |
| 취소(현재 컨텍스트 외부) | 취소 요청에 응답하기 위해 워크플로우 활동에서 사용하는 문자열 값입니다. | 이 이벤트는 위의 취소 이벤트와 동일하게 처리되었습니다. 그러나 이 이벤트의 관리는 미묘하게 다릅니다. 이 이벤트는 워크플로우가 취소되고 있음을 컨텍스트의 모든 wf_executing 기록에 알립니다. 이벤트는 실행 중인 각 활동 정의의 onCancel 이벤트 처리기를 통해 관리되지만 이벤트는 다르게 호출됩니다. 특히 활동 정의 외부에서 취소하는 호출은 현재 뮤텍스에 의해 차단됩니다. 이는 이벤트가 현재 뮤텍스의 매개변수 내에서 여전히 작동 중인 현재 실행 중인 활동을 중단하지 않는다는 점에서 중요한 차이점입니다. | 모든 스크립트는 워크플로우 스크립트 포함을 통해 알려진 실행 컨텍스트에서 취소를 호출할 수 있습니다. 예: var w = new Workflow(); w.cancel(context); //여기서 컨텍스트 는 취소될 컨텍스트의 GlideRecord입니다. |
모든 스크립트 포함, 예약된 작업, UI 작업 또는 기타 소스 | 현재 스레드, 개인 뮤텍스 | 모든 활동, onCancel 이벤트 핸들러 |
| 중지(활동 종료 참조) | 종료 활동은 이 이벤트를 확인합니다. | 중지 이벤트가 현재 이벤트인 경우 종료 활동의 취소 작업은 바이패스됩니다. | 종료 활동에서만 가능합니다. | 모든 스크립트는 스크립트 포함 또는 워크플로우를 통해 중지 이벤트를 트리거하거나 브로드캐스트할 수 있습니다. 스크립트 실행 활동 | 현재 스레드, 현재 뮤텍스 | 이 이벤트는 종료 활동에서 취소 활동을 제외하고 취소된 경우에도 워크플로우가 종료되도록 하는 데 사용됩니다. |
| 수신기 | 워크플로우(하위 플로우) 활동이 이벤트로 트리거하는 문자열 값입니다. | 메인 워크플로우가 하위 플로우를 호출하면 워크플로우는 스크래치패드에 하위 플로우의 컨텍스트 ID를 유지합니다. 하위 플로우가 완료되면 비즈니스 규칙을 통해 수신기 이벤트를 트리거합니다. | 수신기 이벤트는 하위 플로우가 완료되면 상위 컨텍스트로 전달되며 워크플로우 활동의 onListener 작업에 의해 관리됩니다. | 상위가 있는 워크플로우의 업데이트에 의해 트리거되는 비즈니스 규칙 | 현재 스레드, 현재 뮤텍스 | 이 이벤트는 하위 플로우에서 상위 플로우에 완료되었음을 알리는 데 사용됩니다. 상위 워크플로우는 이 이벤트에 반응하고 계속됩니다. |
| probe_complete | MID 서버가 작업을 완료했음을 나타내는 오케스트레이션 활동에 의해 워크플로우에서 트리거되는 문자열 값입니다. | probe_complete 이벤트는 워크플로우 도우미 함수 handleEventById를 통해 오케스트레이션 센서 프로세서에서 트리거됩니다. | onProbe_complete 이벤트 처리기는 WebServiceActivityHandler에 있으며 대부분의 오케스트레이션 활동에서 사용됩니다. | MID 서버가 작업 또는 활동을 처리하기를 기다리는 워크플로우를 다시 설명하는 데 사용되는 이벤트 | 작업자 스레드, 개인 뮤텍스 | 오케스트레이션 활동 |
| 일시 중지 | 타이머 활동을 일시 중지하기 위해 SLA에서 워크플로우로 전송된 문자열 값입니다. | SLA가 일시 중지되었을 때 타이머가 실행되고 있으면 SLA 워크플로우를 일시 중지해야 합니다. | SLA 타이머에만 사용할 수 있습니다. | SLA | 비즈니스 규칙 스레드, 개인 뮤텍스 | 타이머 활동 |
| 이력서 | 타이 머 활동에서 일시 중지된 타이머를 다시 시작하는 데 사용하는 문자열 값입니다(일시 중지 참조). | SLA가 재개되면 SLA 워크플로우도 재개되어야 합니다. | SLA 타이머에만 사용할 수 있습니다. | SLA | 비즈니스 규칙 스레드, 개인 뮤텍스 | 타이머 활동 |