GlideMultiRecurrence - 범위 지정됨
GlideMultiRecurrence API는 지정된 예약된 작업의 런타임을 설명하는 GlideDateTime 개체를 반환하는 메서드를 제공합니다.
특정 주기적 또는 반복 작업(발생이라고도 함)을 실행해야 하는 시기를 결정해야 하는 경우 이 API를 사용합니다.
이 API는 sn_schdl_ns 네임스페이스에서 실행됩니다.
| 트리거 | 설명 |
|---|---|
| effective_end | 작업의 예약된 종료 날짜 및 시간입니다. |
| effective_start | 작업의 일정 시작 날짜 및 시간입니다. |
| 빈도 | 반환할 발생 횟수입니다. |
| run_dayofmonth | 작업을 실행할 월의 일입니다. 유효한 값: 1-31 |
| run_dayofweek | 작업을 실행할 요일입니다. 유효한 값: 1(일요일) - 7(토요일) |
| run_month | 작업을 실행하는 데 걸리는 연도의 월입니다. 유효한 값: 1-12 |
| run_time | 작업을 실행할 GMT 시간입니다. |
| run_weekinmonth | 작업을 실행하는 데 소요된 월의 주입니다. 유효한 값: 1-6 |
| time_zone | 예약된 작업의 시간대입니다. |
| trigger_type |
|
var table_nameGR = new GlideRecord('<table_name>'); // Scheduling table, such as sys_trigger
table_nameGR.addQuery('sys_id', '<sys_id>'); // Sys_id of the scheduling record
table_nameGR.query();
table_nameGR.next(); // Retrieve the scheduling recordGlideMultiRecurrence - getOccurrences()
연결된 일정 기록(GlideRecord)에 정의된 트리거에 따라 지정된 예약된 작업이 특정 기간 내에 실행되어야 하는 각 예약된 실행 시간(발생)에 대해 GlideDateTime 객체를 반환합니다.
이 메서드는 스케줄링 객체 내에 정의된 트리거를 사용하여 현재 GlideRecord 스케줄링 객체를 분석하여 작업을 실행해야 하는 시기를 판별합니다.
- com.glide.schedule.recurrence.num_occurrences_max: 반환할 최대 발생 횟수입니다.
- com.glide.schedule.recurrence.num_occurrences_default: 반환할 기본 발생 횟수입니다.
- effective_start 필드가 유효하고 null이거나 비어 있지 않으면 발생 반환을 시작하는 날짜로 사용합니다. 그렇지 않으면 현재 날짜를 사용합니다.
- effective_end 날짜 필드가 유효하고 null이거나 비어 있지 않으면 필드 effective_start 와 effective_end 날짜 필드 사이의 발생 횟수를 반환합니다.
위 규칙에 대한 예외: 날짜가 너무 먼 미래로 인해 com.glide.schedule.recurrence.num_occurrences_max 속성에 지정된 발생 횟수보다 많은 발생 횟수가 반환되는 경우 effective_end 결과는 com.glide.schedule.recurrence.num_occurrences_max에 지정된 값(기본값 500)으로 제한됩니다.
- effective_end 날짜 필드가 null이거나 비어 있지만 frequency 필드가 설정된 경우 사용할 frequency 항목을 반환하는 횟수를 결정합니다.
- 날짜 필드가 과거인 경우 effective_start 과거 날짜를 반환합니다.
- frequency 및 effective_end 날짜 필드가 모두 지정된 경우 com.glide.schedule.recurrence.num_occurrences_max 속성에 지정된 값으로 제한된 최대 발생 횟수의 날짜를 사용합니다effective_end.
예: 및(와effective_end)이 모두 frequency 지정됩니다. Effective_end date가 우선하며 frequency 무시됩니다.
- frequency: 10
- effective_start: 1st 8월 2022
- effective_end: 10th 10월 2022
- 트리거 유형: 일/월
- 실행 일(월 중): 15
반환된 GlideDateTime 객체 수 = 2.
반환된 발생: 2022년 8월 15일, 2022년 9월 15일.
예: and가 effective_end 모두 frequency 지정됩니다. Effective_end date가 우선하며 frequency 무시됩니다. 그러나 반환 발생 수는 com.glide.schedule.recurrence.num_occurrences_max 속성의 값에 의해 제한됩니다.
- frequency: 20
- effective_start: 1st 8월 2022
- effective_end: 30th 10월 2070
- 트리거 유형: 일/월
- 실행 일(월 중): 15
반환된 GlideDateTime 객체 수 = 500
| 이름 | 유형 | 설명 |
|---|---|---|
| grSchedule | GlideRecord | 일정 발생을 가져올 작업이 포함된 기록을 가리키는 GlideRecord 객체입니다. |
| 유형 | 설명 |
|---|---|
| GlideDateTime 객체 배열 | GlideDateTime 객체입니다. |
다음 예시에서는 지정된 작업 일정 기록에서 특정 기간의 모든 예약된 실행 날짜/시간에 대해 GlideDateTime 객체를 검색하는 방법을 보여줍니다. 선택한 작업은 매시간 실행되도록 예약되어 있습니다.
var sys_id = 'a9e30c7dc61122760116894de7bcc7bd'; // Sys_id of the job schedule record
var table = 'sys_trigger'; // Table that contains the job schedule record
var grSchedule = new GlideRecord(table);
if
(grSchedule.get(sys_id)) {
var multiRecurrence = new sn_schdl_ns.GlideMultiRecurrence();
var dates = multiRecurrence.getOccurrences(grSchedule); // Display the list of occurrences
for(var i=0; i<dates.length; i++) {
gs.info('occurrence = ' + dates[i]);
}
}
출력:
occurrence = 2022-11-21 16:23:23
occurrence = 2022-11-21 17:23:23
occurrence = 2022-11-21 18:23:23
occurrence = 2022-11-21 19:23:23
occurrence = 2022-11-21 20:23:23
occurrence = 2022-11-21 21:23:23
occurrence = 2022-11-21 22:23:23
occurrence = 2022-11-21 23:23:23
occurrence = 2022-11-22 00:23:23
occurrence = 2022-11-22 01:23:23