GlideMultiRecurrence : Bereichsbezogen
Die GlideMultiRecurrence -API stellt Methoden bereit, die GlideDateTime-Objekte zurückgeben, welche die Laufzeiten für eine angegebene geplante Aufgabe beschreiben.
Verwenden Sie diese API, wenn Sie bestimmen müssen, wann ein bestimmter periodischer oder wiederkehrender Auftrag ausgeführt werden muss (auch als Vorkommnis bezeichnet).
Diese API wird im Namespace sn_schdl_ns ausgeführt.
| Auslöser | Beschreibung |
|---|---|
| effektiv_end | Geplantes Enddatum und -uhrzeit für den Auftrag. |
| effektiv_start | Startdatum und -uhrzeit des Auftrags planen. |
| Häufigkeit | Anzahl der zurückzugebenden Vorkommen. |
| run_dayofmonth | Tag des Monats, an dem der Auftrag ausgeführt werden soll. Gültige Werte: 1–31 |
| run_dayofweek | Wochentag, an dem die Aufgabe ausgeführt werden soll. Gültige Werte: 1 (Sonntag) – 7 (Samstag) |
| run_month | Monat des Jahres, für den der Auftrag ausgeführt werden soll. Gültige Werte: 1–12 |
| run_time | GMT-Tageszeit für die Ausführung des Auftrags. |
| run_weekinmonth | Woche des Monats, in der der Auftrag ausgeführt werden soll. Gültige Werte: 1–6 |
| time_zone | Zeitzone der geplanten Aufgabe. |
| 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()
Gibt ein GlideDateTime-Objekt für jede geplante Laufzeit (Vorkommen) zurück, zu der eine angegebene geplante Aufgabe innerhalb eines bestimmten Zeitraums ausgeführt werden sollte, basierend auf den im zugehörigen Zeitplandatensatz (GlideRecord) definierten Auslösern.
Diese Methode analysiert das aktuelle GlideRecord-Planungsobjekt anhand der im Zeitplanungsobjekt definierten Auslöser, um zu bestimmen, wann der Auftrag ausgeführt werden soll.
- com.glide.schedule.recurrence.num_occurrences_max: Maximale Anzahl der zurückzugebenden Vorkommen.
- com.glide.schedule.recurrence.num_occurrences_default: Standardanzahl der zurückzugebenden Vorkommen.
- Wenn das Feld effective_start gültig und nicht NULL oder leer ist, verwenden Sie es als Datum für die Rückgabe von Vorkommen. Andernfalls das aktuelle Datum verwenden.
- Wenn das Datumsfeld effective_end gültig und nicht NULL oder leer ist, geben Sie die Vorkommen zwischen den Datumsfeldern effective_start und effective_end zurück.
Ausnahme von der obigen Regel: Wenn das Datum effective_end zu weit in der Zukunft liegt und dadurch mehr als die in der Eigenschaft „com.glide.schedule.recurrence.num_occurrences_max“ angegebene Anzahl von Vorkommen zurückgegeben wird, ist das Ergebnis auf beschränkt Wert, der in „com.glide.schedule.recurrence.num_occurrences_max“ angegeben ist (Standard: 500)
- Wenn das Datumsfeld effective_end NULL oder leer ist, das Feld frequency jedoch festgelegt ist, verwenden Sie frequency, um die Anzahl der zurückzugebenden Vorkommen zu bestimmen.
- Verlaufsdaten zurückgeben, wenn das Datumsfeld effective_start in der Vergangenheit liegt.
- Wenn beide Datumsfelder frequency und effective_end angegeben sind, verwenden Sie das Datum effective_end, wobei die maximale Anzahl der Vorkommen auf den in der Eigenschaft com.glide.schedule.recurrence.num_occurrences_max angegebenen Wert beschränkt ist.
Beispiel: frequency und effective_end sind angegeben. Das Datum Effective_end hat Vorrang, und frequency das Datum wird ignoriert.
- frequency: 10
- effective_start: 1. August 2022
- effective_end: 10. Oktober 2022
- Auslösertyp: Tag im Monat
- Tag des Monats: 15
Anzahl der zurückgegebenen GlideDateTime-Objekte = 2.
Zurückgegebene Vorkommen: 15. August 2022, 15. September 2022.
Beispiel: frequency und effective_end sind angegeben. Das Datum Effective_end hat Vorrang, und frequency das Datum wird ignoriert. Die Anzahl der zurückgegebenen Vorkommen wird jedoch durch den Wert in der Eigenschaft „com.glide.schedule.recurrence.num_occurrences_max“ eingeschränkt.
- frequency: 20
- effective_start: 1. August 2022
- effective_end: 30. Oktober 2070
- Auslösertyp: Tag im Monat
- Tag des Monats: 15
Anzahl der zurückgegebenen GlideDateTime-Objekte = 500.
| Name | Typ | Beschreibung |
|---|---|---|
| grZeitplan | GlideRecord | GlideRecord-Objekt, das auf den Datensatz verweist, der den Auftrag enthält, für den Sie die Zeitplanvorkommen abrufen möchten. |
| Typ | Beschreibung |
|---|---|
| Array von GlideDateTime -Objekten | GlideDateTime-Objekt für jedes Mal, wenn die geplante Aufgabe ausgeführt werden soll. |
Das folgende Beispiel zeigt, wie GlideDateTime-Objekte für alle geplanten Ausführungstermine (Datum/Uhrzeit) für einen bestimmten Zeitraum für einen angegebenen Auftragszeitplan-Datensatz abgerufen werden. Die ausgewählte Aufgabe soll stündlich ausgeführt werden.
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]);
}
}
Ausgabe:
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