데이터 통합파이프라인 빌딩일정트리거 유형 출처

본 번역은 검증되지 않았습니다. AIP를 통해 영문원문으로부터 번역되었습니다.

트리거 유형 출처

Foundry는 ANDOR 트리거의 임의의 중첩을 지원하여 특정 커스텀 트리거의 생성을 가능하게 합니다.

시간 트리거

시간 트리거는 지정된 시간에 만족하는 트리거입니다.

시간 트리거는 지정된 순간에만 만족합니다. 지정된 순간이 지나면 시간 트리거는 더 이상 만족하지 않습니다.

Cron 표현식

시간 트리거는 cron 표현식과 시간대를 사용하여 정의됩니다.

일정 에디터는 cron 표현식을 작성할 필요 없이 간단한 시간 트리거를 정의하는 데 사용하기 쉬운 인터페이스를 제공합니다.

보다 복잡한 시간 트리거는 커스텀 cron 표현식을 작성해야 할 수 있습니다.

일정 에디터는 다음의 다섯 개의 필드로 구성된 표준 Unix cron 표현식 형식을 사용합니다:

+--------- 분
| +------- 시간
| | +----- 월의 일
| | | +--- 월
| | | | +- 요일
| | | | |
* * * * *

스케줄 에디터는 각 필드에 대해 다음의 값을 허용합니다:

필드허용된 값허용된 특수 문자비고
0-59* - / ,
0-23* - / ,
월의 일1-31* - / , L
1-12 또는 JAN-DEC* - / ,
요일0-6 또는 SUN-SAT* - / , L #7은 일요일도 포함됩니다

특수 문자의 의미는 아래에 자세히 설명되어 있습니다:

  • 별표 (*): 모든 값을 지정합니다.

    예시:

    의미
    *모든 분
  • 하이픈 (-): 값의 범위를 지정합니다.

    예시:

    의미
    10-2010분과 20분 사이, 포함하여
  • 슬래시 (/): 값의 스텝 범위를 지정합니다.

    스텝 범위는 값이나 범위를 사용하여 정의될 수 있습니다:

    • 값과 함께 사용하면, 범위는 지정된 값에서 해당 필드의 최대 값까지입니다
    • 범위와 함께 사용하면, 범위는 지정된 범위입니다

    예시:

    의미
    25/1025분부터 시작하여 10분마다 (25, 35, 45, 그리고 55)
    25-45/1025분과 45분 사이에 10분마다, 포함하여 (25, 35, 그리고 45)
  • 콤마 (,): 값, 범위, 및/또는 스텝 범위의 목록을 지정합니다.

    예시:

    의미
    10,20,3010분, 20분, 그리고 30분
    10,20-3010분과 20분과 30분 사이의 분, 포함하여
    10,25-45/1010분과 25분과 45분 사이에 10분마다, 포함하여
  • L (L): 마지막 값을 지정합니다.

    L의 의미는 사용 방법에 따라 다릅니다:

    • 월의 일 필드에서 사용하면, 그것은 월의 마지막 날을 지정합니다
    • 요일 필드에서 단독으로 사용하면, 그것은 주의 마지막 날 (토요일)을 지정합니다
    • 요일 필드에서 값과 함께 사용하면, 그것은 지정된 요일의 월의 마지막 날을 지정합니다

    예시:

    월의 일의미
    L월의 마지막 날
    요일의미
    L주의 마지막 날 (토요일)
    2L월의 마지막 화요일
  • 해시 (#): 월의 n번째 요일을 지정합니다.

    예시:

    요일의미
    2#4월의 네 번째 화요일

현재 날짜와 시간이 크론 표현식과 일치할 때 시간 트리거가 만족됩니다.

월의 일 필드와 요일 필드가 모두 *가 아닌 경우, 현재 날짜와 시간이 일치하면 트리거가 만족됩니다.

예시:

크론 표현식 의미
30 9 * * 1월요일 9시 30분
30 17 * 2 12월 월요일 5시 30분
0 9-17 10 * *월의 10일 9시부터 5시까지 매시
0 9-17/2 10 * *월의 10일 9시부터 5시까지 2시간마다
0 9,17 10 * *월의 10일 9시와 5시
0/5 9-17 15 3 *3월 15일 9시부터 5시 55분까지 5분마다
0/5 9,17 15 3 *3월 15일 9시부터 9시 55분까지 그리고 5시부터 5시 55분까지 5분마다
0 9 L * *월의 마지막 날 9시
0 9 L 2 *2월의 마지막 날 9시
0 9 * * L토요일 9시
0 9 * * 2L월의 마지막 화요일 9시
0 9 * 4 3#14월 첫 번째 수요일 9시
0 9 20 * 4월의 20일과 목요일 9시

시간 변경

모든 시간 트리거는 지정된 시간대의 벽시계 시간을 사용하여 평가됩니다. 크론 표현식을 만족하는 벽시계 시간이 발생할 때마다 시간 트리거가 만족됩니다. 시간 변경은 다음과 같이 처리됩니다:

  • 시간이 앞으로 이동하면, 시간 변경 사이에 만족된 시간 트리거는 만족되지 않습니다
  • 시간이 뒤로 이동하면, 시간 변경 사이에 만족된 시간 트리거는 두 번 만족됩니다

예시:

  • 시간이 1시에서 2시로 앞으로 이동하면, 1시 30분에 만족된 시간 트리거는 만족되지 않습니다 왜냐하면 1시 30분은 발생하지 않았기 때문입니다
  • 시간이 2시에서 1시로 뒤로 이동하면, 1시 30분에 만족된 시간 트리거는 두 번 만족됩니다 왜냐하면 1시 30분은 두 번 발생했기 때문입니다

이벤트 트리거

이벤트 트리거는 지정된 이벤트가 발생하면 만족되는 트리거입니다.

이벤트가 발생한 후에 이벤트 트리거는 전체 트리거가 만족되고 스케줄이 실행될 때까지 만족된 상태를 유지합니다.

이벤트 유형

스케줄 에디터는 현재 다음의 이벤트 유형을 지원합니다:

  • 새 로직: 데이터셋을 계산하기 위한 로직이 업데이트되었을 때 발생합니다.
  • 데이터 업데이트: 데이터셋을 업데이트하는 트랜잭션이 커밋되었을 때 발생합니다.
  • 작업 성공: 데이터셋에 대한 작업이 완료되었을 때 발생합니다, 트랜잭션이 커밋되었는지 여부에 관계없이.
  • 스케줄 성공적으로 실행: 스케줄 빌드가 성공적으로 완료되었을 때 발생합니다.

복합 트리거

복합 트리거는 AND 트리거와 OR 트리거를 사용하여 여러 개의 컴포넌트 트리거를 결합하여 생성됩니다.

  • AND 트리거는 컴포넌트 트리거의 교집합인 트리거를 생성합니다.
  • OR 트리거는 컴포넌트 트리거의 합집합인 트리거를 생성합니다.

예시:

다음 예시에서, T1, T2는 시간 트리거이고, E1, E2는 이벤트 트리거입니다.

트리거의미
AND(T1, E1)E1이 발생했을 때 T1에 만족합니다
OR(T1, E1)T1에 또는 E1이 발생했을 때 만족합니다
AND(T1, T2) [1]T1T2 모두를 만족하는 시간에 만족합니다
OR(T1, T2)T1 또는 T2에 만족합니다
AND(E1, E2)E1E2 모두가 발생했을 때 만족합니다
OR(E1, E2)E1 또는 E2 중 하나가 발생했을 때 만족합니다
AND(T1, OR(E1, E2))E1 또는 E2 중 하나가 발생했을 때 T1에 만족합니다
OR(T1, AND(E1, E2))T1에 또는 E1E2 둘 다가 발생했을 때 만족합니다

[1] 여러 시간 트리거로 AND 트리거를 생성하면 모든 시간 트리거가 일치할 때만 만족됩니다. 예를 들어, 일일 트리거와 시간 트리거가 있는 AND 트리거는 하루에 한 번만 만족됩니다. 대신, 더 구체적인 단일 시간 트리거를 사용해야 합니다. 이전 예시에서, AND 트리거는 일일 트리거로만 대체되어야 합니다.