GlideMultiRecurrence – Scoped
Die GlideMultiRecurrence- API stellt Methoden bereit, die GlideDateTime-Objekte zurückgeben, die die Ausführungszeiten für eine angegebene geplante Aufgabe beschreiben.
Verwenden Sie diese API, wenn Sie bestimmen müssen, wann eine bestimmte regelmäßige oder wiederkehrende Aufgabe ausgeführt werden muss, was auch als Vorkommen bezeichnet wird.
Diese API wird im Namespace sn_schdl_ns ausgeführt.
| Auslöser | Beschreibung |
|---|---|
| effektiv_end | Geplantes Enddatum und geplante Endzeit der Aufgabe. |
| effektiv_start | Startdatum und -zeit des Zeitplans der Aufgabe. |
| Häufigkeit | Anzahl der zurückzugebenden Vorkommen. |
| run_dayofmonth | Tag des Monats, an dem die Aufgabe 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, in dem die Aufgabe ausgeführt werden soll. Gültige Werte: 1–12 |
| run_time | GMT-Uhrzeit zur Ausführung des Auftrags. |
| run_weekinmonth | Woche des Monats, in der die Aufgabe 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
gr.addQuery('sys_id', '<sys_id>'); // Sys_id of the scheduling record
gr.query();
gr.next(); // Retrieve the scheduling recordGlideMultiRecurrence – getOccurrences()
Gibt ein GlideDateTime-Objekt für jede geplante Ausführungszeit (Vorkommen) zurück, zu der eine angegebene geplante Aufgabe innerhalb eines bestimmten Zeitraums ausgeführt werden soll, basierend auf den im zugehörigen Zeitplandatensatz (GlideRecord) definierten Auslösern.
Diese Methode analysiert das aktuelle GlideRecord-Planungsobjekt mithilfe der im Planungsobjekt 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, um mit der Rückgabe von Vorkommen zu beginnen. Andernfalls verwenden Sie das aktuelle Datum.
- 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, was zur Rückgabe von mehr als der in der Eigenschaft com.glide.schedule.recurrence.num_occurrences_max angegebenen Anzahl von Vorkommen führt, ist das Ergebnis auf den 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.
- Historische Daten zurückgeben, wenn das Datumsfeld effective_start in der Vergangenheit liegt.
- Wenn die Datumsfelder frequency und effective_end beide angegeben sind, verwenden Sie das Datum effective_end, wobei die maximale Anzahl von Vorkommen auf den in der Eigenschaft com.glide.schedule.recurrence.num_occurrences_max angegebenen Wert beschränkt ist.
Beispiel: Sowohl frequency als auch effective_end sind angegeben. Das Datum Effective_end hat Vorrang und frequency wird ignoriert.
- frequency: 10
- effective_start: 1. August 2022
- effective_end: 10. Okt. 2022
- Auslösertyp: Tag im Monat
- Ausführungstag des Monats: 15
Anzahl der zurückgegebenen GlideDateTime-Objekte = 2.
Zurückgegebene Vorkommen: 15. August 2022, 15. September 2022.
Beispiel: Sowohl frequency als auch effective_end sind angegeben. Das Datum Effective_end hat Vorrang, und frequency wird ignoriert. Die Anzahl der zurückgegebenen Vorkommen wird jedoch durch den Wert in der Eigenschaft com.glide.schedule.recurrence.num_occurrences_max beschränkt.
- frequency: 20
- effective_start: 1. August 2022
- effective_end: 30. Okt. 2070
- Auslösertyp: Tag im Monat
- Ausführungstag 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 jeden Zeitpunkt, zu dem die regelmäßige Aufgabe ausgeführt werden soll. |
Das folgende Beispiel zeigt, wie GlideDateTime-Objekte für alle geplanten Ausführungsdaten und -uhrzeiten für einen bestimmten Zeitraum für einen angegebenen Auftragszeitplan-Datensatz abgerufen werden. Die ausgewählte Aufgabe wird stündlich ausgeführt.
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