GlideMultiRecurrence : Bereichsbezogen

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 4 Minuten Lesedauer
  • 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.

    Um diese API zu verwenden, muss die zugeordnete Planungstabelle mindestens eines der folgenden Felder (Auslöser) enthalten.
    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
    • 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 Planungstabelle erstellen, auf dem die API agieren soll. Anschließend rufen Sie den Planungsdatensatz ab, für den Sie die Vorkommensdatensä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 – 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.

    Eigenschaften, die die zurückgegebenen Ergebnisse 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 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.
    Wenn keine der oben genannten Regeln auf „true“ zutrifft, gibt die Methode Vorkommen basierend auf der Standardeinstellung der Systemeigenschaften zurück.
    Hinweis:
    MAX_Drift wird von dieser API nicht unterstützt.

    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.

    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. Rückgaben
    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