타이머 워크플로우 활동

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기4분
  • 타이머 활동은 지정된 기간 동안 워크플로우를 일시 중지합니다.

    이 기간은 정의된 일정 작성 및 사용에 따른 절대 시간 값 또는 상대 값일 수 있습니다. 워크플로우가 적시에 진행될 수 있도록 기간을 조정하는 것이 가장 좋습니다. 조건이 충족될 때까지 워크플로를 무기한 일시 중지하려면 조건 대기를 참조하십시오.
    주:
    시스템 스케줄러가 워크플로우를 진행하므로 타이머 활동은 시스템 사용자로 실행됩니다.

    결과

    표 1. 타이머 활동 결과
    결과 설명
    완료 활동이 지정된 기간에 성공적으로 도달했습니다.
    취소함 타이머가 지정된 기간에 도달하기 전에 활동 또는 워크플로우가 취소되었습니다.

    입력 변수

    입력 변수는 활동의 초기 동작을 결정합니다.

    표 2. 타이머 활동 입력 변수
    필드 설명
    타이머 정보
    타이머 기준 타이머 기간을 계산하는 방법입니다. 옵션은 다음과 같습니다.
    • 사용자 지정 기간: 기간은 일 및 시간과 같은 기간 필드를 기반으로 합니다.
    • 상대 기간: 기간은 상대 기간 (예: 다음 영업일 종료) 및 대기 필드를 기준으로 합니다.
    • 날짜/시간 또는 기간 필드: 기간은 필드 값과 대기 필드를 기준으로 합니다.
    • 각본: 기간은 초 수를 반환하는 스크립트를 기반으로 합니다.
    지속 시간

    타이머 기준사용자 지정 기간인 경우에만 나타납니다.

    워크플로우에서 다음 활동으로 진행하기 전에 대기할 특정 일 수 및 시간입니다.
    상대 기간

    타이머 기준A 상대 기간인 경우에만 나타납니다.

    다음 워크플로우 활동으로 진행하기 전에 대기해야 하는 일반적인 영업일 수 및 길이입니다. .
    대기

    타이머 기준A 상대 기간 또는 A 날짜/시간 또는 지속 시간 필드인 경우에만 나타납니다.

    타이머 기준A 상대 기간 또는 A 날짜/시간 또는 지속 시간 필드인 경우 추가 타이머 조정입니다. 옵션은 다음과 같습니다.
    • 전체 기간: 계산된 기간은 수정되지 않습니다.
    • 기간의 %: 지속 시간은 초 수에 (백분율 / 100)을 곱하여 조정됩니다.
    • 얼마 전: 기간은 일 및 시간 이전 시간 만큼 짧아집니다.
    • 일정 시간 후: 기간은 일 및 시간 이후의 시간 만큼 길어집니다.
    백분율

    타이머 기준A 상대 기간 또는 A 날짜/시간 또는 지속 시간 필드인 경우에만 나타납니다.

    타이머 기준A 상대 기간 또는 A 날짜/시간 또는 지속 시간 필드인 경우의 대기 백분율 값입니다.
    다음 전 시간

    타이머 기준A 상대 기간 또는 A 날짜/시간 또는 기간 필드이고 대기일정 시간 전인 경우에만 나타납니다.

    대기일정 시간 전일 경우의 수정자 시간 값입니다.
    다음 후 시간

    타이머 기준상대 기간 또는 날짜/시간 또는 기간 필드이고 대기일정 시간 후인 경우에만 나타납니다.

    대기일정 시간 후일 경우의 한정자 시간 값입니다.
    필드

    타이머 기준날짜/시간 또는 기간 필드인 경우에만 나타납니다.

    다음 워크플로우 활동으로 이동하기 전에 경과된 대기 시간을 포함하는 날짜/시간 또는 기간 필드입니다.
    스크립트

    타이머 기준이스크립트인 경우에만 나타납니다.

    지속 시간 동안 초의 수에 대한 "응답"을 설정하는 스크립트.
    타이머 일정
    일정 기준 타이머에서 근무 시간을 계산하는 데 사용하는 기본 일정입니다. 일정이 지정되면 일정에 지정된 시간에만 기간이 고려됩니다. 예를 들어 기간이 2시간이고 워크플로우가 오전 8시 - 오후 5시 일정에서 오후 4:00에 시작되면 다음 날 오전 9:00에 종료됩니다. 옵션은 다음과 같습니다.
    • 이 워크플로우의 일정은 다음과 같습니다. 일정은 값에 따라 워크플로우 컨텍스트 날짜, 시간 및 선택적 시간대 를 사용합니다.
    • 특정 일정: 일정은 값에 따라 미리 정의된 일정과 시간대(선택 사항)를 사용합니다.
    • 일정 필드: 일정은 값 에 따라 테이블의 값과 시간대(선택 사항)를 사용합니다.
    일정

    일정 기준A 특정 일정일 때만 나타납니다.

    목록에서 미리 정의된 일정
    일정 필드

    일정 기준이A 일정 필드인 경우에만 나타납니다.

    테이블과 연결된 일정의 날짜 및 시간 또는 기간 필드입니다. 유효한 필드는 트리에서 요소 선택 대화 상자에 파란색으로 표시됩니다.
    타이머 시간대
    시간대 기준 지속 시간을 계산할 시간대입니다. 시간대는 다음을 기반으로 할 수 있습니다.
    • 시간대 없음: 기본값. 워크플로우는 GMT 시간대를 사용합니다.
    • 특정 시간대: 미리 정의된 시간대입니다.
    • 시간대 필드: 양식의 필드에서 기간을 추적하는 시간대 필드 입니다.
    시간대

    시간대 기준A 특정 시간대인 경우에만 나타납니다.

    미리 정의된 시간대입니다.
    시간대 필드

    시간대 기준A 시간대 필드인 경우에만 나타납니다.

    테이블과 연결된 일정의 날짜 및 시간 또는 기간 필드입니다. 유효한 필드는 트리에서 요소 선택 대화 상자에 파란색으로 표시됩니다.

    상태

    활동 상태는 워크플로우 엔진에 활동으로 수행할 작업을 알려줍니다.

    표 3. 타이머 활동 상태
    상태 설명
    실행 Timer 활동은 초기화하는 동안 매우 잠깐 동안 이 상태에 있다가 즉시 대기 중으로 변경됩니다.
    대기 중 워크플로우 엔진은 타이머가 지정된 지속 시간에 도달할 때까지 대기합니다. 그런 다음 엔진은 워크플로우를 다음 활동으로 전환합니다.
    마침 활동 실행이 완료되었습니다. 활동의 결과 값을 확인합니다.
    취소됨 이 활동 또는 이 활동을 포함하고 있는 워크플로우가 취소되었습니다.
    오류 JavaScript 오류가 발생했습니다. 로그에서 오류 정보를 검토하십시오.

    예제

    타이머 활동을 사용하여 업무일이 끝날 때까지 워크플로우를 일시 중지할 수 있습니다.

    그림 1. 타이머 예제

    이 예제에서 스크립트는 now 변수와 eod 변수 사이의 시간을 평가합니다. eod 변수는 24시간 동안 오후 4:00로 정의됩니다. 그런 다음 스크립트는 응답 변수를 이러한 변수 간의 차이(초)로 설정하고 메시지를 기록합니다.

    // get now and calc end of day (4:00pm)
     
    var now =new Date();
     
    var eod =new Date();
    eod.setHours(16);
    eod.setMinutes(0);
    eod.setSeconds(0);
     
    answer =(eod.getTime()- now.getTime())/1000;
     
    workflow.debug('Timer will fire @: '+ eod +'  '+(answer/60)+' minutes from now');