대기 상태의 워크플로는 응답이 필요한 개체를 지속적으로 폴링하기 때문에 시스템 리소스를 소비합니다. 워크플로가 필요한 응답을 수신하기 전에 오랜 시간 대기해야 할 수 있음을 아는 경우 해당 워크플로에 장기 실행 워크플로 요소를 추가할 수 있습니다.

실행 중인 모든 워크플로는 시스템 스레드를 소비합니다. 워크플로가 장기 실행 워크플로 요소에 도달하면 장기 실행 워크플로 요소는 해당 워크플로를 패시브 상태로 설정합니다. 그런 다음 서버에서 실행되는 모든 장기 실행 워크플로 요소에 대해 시스템을 폴링하는 단일 스레드로 워크플로 정보를 전달합니다. 장기 실행 워크플로 요소는 각 요소가 시스템에서 정보를 검색하려고 지속적으로 시도하는 대신 설정된 기간 동안 패시브 상태로 유지되며 그 동안 장기 실행 워크플로 스레드가 해당 요소를 대신해 시스템을 폴링합니다.

다음 방법 중 하나로 대기 기간을 설정합니다.

  • 특정 시간 및 날짜까지 워크플로를 일시 중단하는 Date 개체에 캡슐화된 타이머를 설정합니다. 대기 타이머 요소를 스키마에 포함하여 타이머를 기반으로 하는 장기 실행 워크플로 요소를 구현합니다.

  • 트리거 이벤트가 발생한 후 워크플로를 다시 시작하는 Trigger 개체에 캡슐화된 트리거 이벤트를 정의합니다. 대기 이벤트 요소 또는 사용자 상호 작용 요소를 스키마에 추가하여 트리거를 기반으로 하는 장기 실행 워크플로 요소를 구현합니다.