Foundry는 AND
와 OR
트리거의 임의의 중첩을 지원하여 특정 커스텀 트리거의 생성을 가능하게 합니다.
시간 트리거는 지정된 시간에 만족하는 트리거입니다.
시간 트리거는 지정된 순간에만 만족합니다. 지정된 순간이 지나면 시간 트리거는 더 이상 만족하지 않습니다.
시간 트리거는 cron 표현식과 시간대를 사용하여 정의됩니다.
일정 에디터는 cron 표현식을 작성할 필요 없이 간단한 시간 트리거를 정의하는 데 사용하기 쉬운 인터페이스를 제공합니다.
보다 복잡한 시간 트리거는 커스텀 cron 표현식을 작성해야 할 수 있습니다.
일정 에디터는 다음의 다섯 개의 필드로 구성된 표준 Unix cron 표현식 형식을 사용합니다:
+--------- 분
| +------- 시간
| | +----- 월의 일
| | | +--- 월
| | | | +- 요일
| | | | |
* * * * *
스케줄 에디터는 각 필드에 대해 다음의 값을 허용합니다:
필드 | 허용된 값 | 허용된 특수 문자 | 비고 |
---|---|---|---|
분 | 0-59 | * - / , | |
시 | 0-23 | * - / , | |
월의 일 | 1-31 | * - / , L | |
월 | 1-12 또는 JAN-DEC | * - / , | |
요일 | 0-6 또는 SUN-SAT | * - / , L # | 7은 일요일도 포함됩니다 |
특수 문자의 의미는 아래에 자세히 설명되어 있습니다:
별표 (*
): 모든 값을 지정합니다.
예시:
분 | 의미 |
---|---|
* | 모든 분 |
하이픈 (-
): 값의 범위를 지정합니다.
예시:
분 | 의미 |
---|---|
10-20 | 10분과 20분 사이, 포함하여 |
슬래시 (/
): 값의 스텝 범위를 지정합니다.
스텝 범위는 값이나 범위를 사용하여 정의될 수 있습니다:
예시:
분 | 의미 |
---|---|
25/10 | 25분부터 시작하여 10분마다 (25, 35, 45, 그리고 55) |
25-45/10 | 25분과 45분 사이에 10분마다, 포함하여 (25, 35, 그리고 45) |
콤마 (,
): 값, 범위, 및/또는 스텝 범위의 목록을 지정합니다.
예시:
분 | 의미 |
---|---|
10,20,30 | 10분, 20분, 그리고 30분 |
10,20-30 | 10분과 20분과 30분 사이의 분, 포함하여 |
10,25-45/10 | 10분과 25분과 45분 사이에 10분마다, 포함하여 |
L (L
): 마지막 값을 지정합니다.
L
의 의미는 사용 방법에 따라 다릅니다:
예시:
월의 일 | 의미 |
---|---|
L | 월의 마지막 날 |
요일 | 의미 |
---|---|
L | 주의 마지막 날 (토요일) |
2L | 월의 마지막 화요일 |
해시 (#
): 월의 n번째 요일을 지정합니다.
예시:
요일 | 의미 |
---|---|
2#4 | 월의 네 번째 화요일 |
현재 날짜와 시간이 크론 표현식과 일치할 때 시간 트리거가 만족됩니다.
월의 일 필드와 요일 필드가 모두 *
가 아닌 경우, 현재 날짜와 시간이 일치하면 트리거가 만족됩니다.
예시:
크론 표현식 | 의미 |
---|---|
30 9 * * 1 | 월요일 9시 30분 |
30 17 * 2 1 | 2월 월요일 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#1 | 4월 첫 번째 수요일 9시 |
0 9 20 * 4 | 월의 20일과 목요일 9시 |
모든 시간 트리거는 지정된 시간대의 벽시계 시간을 사용하여 평가됩니다. 크론 표현식을 만족하는 벽시계 시간이 발생할 때마다 시간 트리거가 만족됩니다. 시간 변경은 다음과 같이 처리됩니다:
예시:
이벤트 트리거는 지정된 이벤트가 발생하면 만족되는 트리거입니다.
이벤트가 발생한 후에 이벤트 트리거는 전체 트리거가 만족되고 스케줄이 실행될 때까지 만족된 상태를 유지합니다.
스케줄 에디터는 현재 다음의 이벤트 유형을 지원합니다:
복합 트리거는 AND
트리거와 OR
트리거를 사용하여 여러 개의 컴포넌트 트리거를 결합하여 생성됩니다.
AND
트리거는 컴포넌트 트리거의 교집합인 트리거를 생성합니다.OR
트리거는 컴포넌트 트리거의 합집합인 트리거를 생성합니다.예시:
다음 예시에서, T1
, T2
는 시간 트리거이고, E1
, E2
는 이벤트 트리거입니다.
트리거 | 의미 |
---|---|
AND(T1, E1) | E1 이 발생했을 때 T1 에 만족합니다 |
OR(T1, E1) | T1 에 또는 E1 이 발생했을 때 만족합니다 |
AND(T1, T2) [1] | T1 과 T2 모두를 만족하는 시간에 만족합니다 |
OR(T1, T2) | T1 또는 T2 에 만족합니다 |
AND(E1, E2) | E1 과 E2 모두가 발생했을 때 만족합니다 |
OR(E1, E2) | E1 또는 E2 중 하나가 발생했을 때 만족합니다 |
AND(T1, OR(E1, E2)) | E1 또는 E2 중 하나가 발생했을 때 T1 에 만족합니다 |
OR(T1, AND(E1, E2)) | T1 에 또는 E1 과 E2 둘 다가 발생했을 때 만족합니다 |
[1] 여러 시간 트리거로 AND
트리거를 생성하면 모든 시간 트리거가 일치할 때만 만족됩니다. 예를 들어, 일일 트리거와 시간 트리거가 있는 AND
트리거는 하루에 한 번만 만족됩니다. 대신, 더 구체적인 단일 시간 트리거를 사용해야 합니다. 이전 예시에서, AND
트리거는 일일 트리거로만 대체되어야 합니다.