GlideMultiRecurrence – Scoped

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 4 Minuten Lesedauer
  • 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.

    Zur Verwendung dieser API muss die zugeordnete Planungstabelle eines oder mehrere der folgenden Felder (Auslöser) enthalten.
    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
    • 0: Einmal ausführen
    • 1: Wiederholen
    • 2: Bei Bedarf
    • 3: Tag in der Woche
    • 4: Tag im Monat
    • 5: Woche im Monat
    • 6: Tag und Monat im Jahr
    • 7: Tag in der Woche, im Monat und im Jahr
    • 8: Wird zu den angegebenen Zeiten ausgeführt
    • 9: Wird beim Systemstart ausgeführt
    • 10: Intervall
    • 11: Täglich
    Wenn Sie diese API verwenden, müssen Sie zuerst ein GlideRecord-Objekt für die Planungstabelle erstellen, auf die die API reagieren soll. Sie rufen dann den Planungsdatensatz ab, für den die Vorkommensdatensätze abgerufen werden sollen. Beispiel:
    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 record

    GlideMultiRecurrence – 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.

    Eigenschaften, die die Rückgabeergebnisse steuern:
    • 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.
    Die Methode wendet die folgenden Regeln an, um die Vorkommen zu bestimmen, die für den definierten Zeitraum und die zugehörigen Auslöser zurückgegeben werden sollen:
    • 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.
    Wenn keine der obigen Regeln zutrifft, gibt die Methode Vorkommen basierend auf der Standardeinstellung der Systemeigenschaften zurück.
    Hinweis:
    MAX_Drift wird von dieser API nicht unterstützt.

    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.

    Tabelle : 1. Parameter
    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.
    Tabelle : 2. Ergebnisse
    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