GlideMultiRecurrence – Umfang

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 3 Minuten Lesedauer
  • Die GlideMultiRecurrence Die API stellt Methoden bereit, die GlideDateTime-Objekte zurückgeben, die die Laufzeiten 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, auch als Vorkommen bezeichnet.

    Diese API wird in ausgeführt sn_Schdl_ns Namespace.

    Zur Verwendung dieser API muss die zugehörige Zeitplanungstabelle mindestens eines der folgenden Felder (Auslöser) enthalten.
    Auslöser Beschreibung
    Effective_end Geplantes Enddatum und -Uhrzeit des Auftrags.
    Effective_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 für die Ausführung des Auftrags. Gültige Werte: 1 (Sonntag) bis 7 (Samstag)
    Run_month Monat des Jahres, in dem 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 zur Ausführung des Auftrags. 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: Zu den angegebenen Zeiten ausführen
    • 9: Beim Systemstart ausführen
    • 10: Intervall
    • 11: Täglich
    Wenn Sie diese API verwenden, müssen Sie zuerst ein GlideRecord-Objekt für die Zeitplanungstabelle erstellen, für die die API handeln soll. Sie rufen dann den Zeitplandatensatz ab, für den Sie die Vorkommen-Datensätze abrufen möchten. Zum Beispiel:
    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 record

    GlideMultiRecurrence – getOccurrces()

    Gibt ein GlideDateTime-Objekt für jede geplante Laufzeit (Vorkommen) zurück, die 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 effective_startFeld ist gültig und nicht null oder leer. Verwenden Sie es als Datum, um mit der Rückgabe von Vorkommen zu beginnen. Andernfalls das aktuelle Datum verwenden.
    • Wenn effective_endDatumsfeld ist gültig und nicht null oder leer. Geben Sie die Vorkommen zwischen zurück effective_startUnd effective_endDatumsfelder.

      Ausnahme zur obigen Regel: Wenn effective_endDas Datum liegt zu weit in der Zukunft, was dazu führt, dass mehr als die in der Eigenschaft „com.Glide.schedule.recurrence.num_recurrences_max“ angegebene Anzahl von Vorkommen zurückgegeben wird. Dann wird das Ergebnis auf den in „com.Glide.schedule.recurrence.num_recurrences_max“ angegebenen Wert beschränkt (Standard: 500).

    • Wenn effective_endDatumsfeld ist null oder leer, aber frequencyDas Feld wird festgelegt, und verwenden Sie dann frequencyUm die Anzahl der zurückzugebenden Vorkommen zu bestimmen.
    • Historische Daten zurückgeben, wenn effective_startDatumsfeld liegt in der Vergangenheit.
    • Wenn frequencyUnd effective_endDatumsfelder sind beide angegeben. Verwenden Sie effective_endDatum mit der maximalen Anzahl von Vorkommen, die auf den in der Eigenschaft „com.Glide.schedule.recurrence.num_occurrences_max“ angegebenen Wert beschränkt ist.
    Wenn keine der obigen Regeln „wahr“ ist, gibt die Methode Vorkommen basierend auf der Standardeinstellung der Systemeigenschaften zurück.
    Hinweis:
    MAX_Drift Wird von dieser API nicht unterstützt.

    Beispiel: Beides frequencyUnd effective_endSind angegeben. Effective_endDatum hat Vorrang, und frequencyWird ignoriert.

    • frequency: 10
    • effective_start: 1. August 2022
    • effective_end: 10. Oktober 2022
    • Auslösertyp: Tag im Monat
    • Tag des Monats der Ausführung: 15

    Anzahl der zurückgegebenen GlideDateTime-Objekte = 2.

    Zurückgegebene Vorkommen: 15. August 2022, 15. September 2022.

    Beispiel: Beides frequencyUnd effective_endSind angegeben. Effective_endDatum hat Vorrang und frequencyWird ignoriert, die Anzahl der zurückgegebenen Vorkommen wird jedoch durch den Wert in der Eigenschaft „com.Glide.schedule.recurrence.num_recurrences_max“ eingeschränkt.

    • frequency: 20
    • effective_start: 1. August 2022
    • effective_end: 30. Oktober 2070
    • Auslösertyp: Tag im Monat
    • Tag des Monats der Ausführung: 15

    Anzahl der zurückgegebenen GlideDateTime-Objekte = 500.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    GrSchedule GlideRecord GlideRecord-Objekt, das auf den Datensatz verweist, der den Auftrag enthält, für den Sie die Zeitplanvorkommen abrufen möchten.
    Tabelle : 2. Rückgaben
    Typ Beschreibung
    Array von GlideDateTime Objekte GlideDateTime-Objekt für jeden Zeitpunkt, zu dem die Zeitplanaufgabe ausgeführt werden soll.

    Das folgende Beispiel zeigt, wie GlideDateTime-Objekte für alle geplanten Ausführungsdaten/-Zeiten für einen bestimmten Zeitraum für einen angegebenen Auftragszeitplandatensatz abgerufen werden. Die Ausführung der ausgewählten Aufgabe ist stündlich geplant.

    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