quickcontaxt
Kontakt
BlogHeaderSAPBTP

SAP Job Scheduling Service

Mit dem Job Scheduling Service von SAP können Sie Jobs definieren und verwalten, die einmalig oder periodisch ausgeführt werden. Dieser laufzeitunabhängige Dienst kann verwendet werden, um lang andauernde Prozesse mit Aktionsendpunkten oder Cloud Foundry-Aufgaben in Ihrer Anwendung zu planen.

Der Job Scheduling Service von SAP BTP, umgesetzt als REST-API, wird verwendet, um Jobs zu planen, einschließlich asynchroner Jobs mit langer Laufzeit, und zum Erstellen mehrerer Zeitplantypen für einfache und komplexe wiederkehrende Zeitpläne. Jobs, Aufgaben und Zeitpläne können über eine webbasierte Benutzeroberfläche verwaltet werden.

 

Features

Der Job Scheduling Service von SAP bietet folgende Features an:

 

Konzept

Mit dem SAP Job Scheduling Service können Sie Aktionsendpunkte in Ihrer Anwendung oder langlaufende Prozesse mithilfe von Cloud Foundry-Tasks flexibel planen. Folgende Begriffe sind hier wichtig zu kennen:

 

Asynchronous Mode

Der Job Scheduling Service von SAP führt Jobs, die Aktionsendpunkte unterstützen, in einem synchronen oder asynchronen (oder Batch) Modus aus.

Synchroner Modus: Synchrone Anfragen werden verwendet, wenn der SAP Job Scheduling Service den Aktionsendpunkt der Anwendung aufruft und die Anwendungslogik in einer kurzen Zeitspanne ausgeführt wird.

Asynchroner Modus: Asynchrone Jobs werden für lang andauernde Aufträge verwendet.

 

Schedule Types

Der Job Scheduling Service von SAP führt einmalige und wiederkehrende Aufträge oder Cloud Foundry-Aufgaben aus.

Einmalige Zeitpläne

Zeitpläne, die nur einmal ausgeführt werden. Sie können einmalige Zeitpläne mit einer der folgenden Optionen erstellen:

Wiederkehrende Zeitpläne

Zeitpläne, die periodisch zu bestimmten Zeiten, einem bestimmten Datum oder in Intervallen ausgeführt werden. Sie können wiederkehrende Zeitpläne mit einer der folgenden Optionen erstellen:

 

Schedule Formats

Cron Format

Sie können den Zeitplan für die Auftragsausführung im cron-Format festlegen.

Die Struktur ähnelt dem Standard-Linux-Cron, bietet jedoch zusätzliche funktionale Flexibilität für die Planung anwendungsbasierter Aufgaben. Die folgende Tabelle gibt einen Überblick über die Hierarchie der Feldverwendung im Cron und enthält eine Liste der zulässigen Werte für jedes Feld:

Cron Feld (links nach rechts) Beschreibung
Year 4-stellige Darstellung der Jahreszahl. Beispiel: 2015
Month Numerische Darstellung für einen Monat. Zulässige Werte sind 1 bis 12
Day Numerische Darstellung für den Tag des Monats mit zulässigen Werten von -31 bis 31. Negative Werte werden vom Ende des Monats an berechnet
DayOfWeek 3-Buchstaben-Darstellung für den Tag der Woche. Beispiel: mon, tue, usw
Hour Numerische Darstellung für eine Stunde. Zulässige Werte sind 0 bis 23
Minute Numerische Darstellung für eine Minute. Zulässige Werte sind 0 bis 59
Second Numerische Darstellung für eine Sekunde. Zulässige Werte sind 0 bis 59

Die Syntax für die Definition von Cron-Ausdrücken ist in der folgenden Tabelle aufgeführt:

Ausdruck Verwendung Wert
* überall beliebiger Wert
*/a überall jeder a-te Wert
a:b überall Werte im Bereich von a bis b
a:b/c überall Jeder c-te Wert zwischen a und b
a.y Day of the week Am a-ten Auftreten des Wochentags y (a = -5 bis 5)
a,b,c überall a oder b oder c

 

Datum & Zeit Format

Als Datentyp String oder Objekt können Sie Datums- und Zeitparameter wie startTime, endTime oder Zeit für Zeitpläne angeben.

 

Eingabe-Token Beispiel Beschreibung
YYYY 2015 4-stelliges Jahr
YY 14 2-stelliges Jahr
Q 1-4 Quartal Jahr. Setzt den Monat auf den ersten Monat des Quartals.
M MM 1-12 Monat Nummer
MMM MMMM Januar-Dez Monatsname in der jeweiligen Sprache
D DD 1-31 Tag des Monats
Do 1st-31st Tag des Monats mit Ordnungszahl
DDD DDDD 1-365 Tag des Jahres
X 1410715640.579 UNIX-Zeitstempel
X 1410715640579 UNIX-Zeitstempel (ms)
gggg 2015 Region 4-stellige Woche Jahr
gg 15 Region 2-stellige Woche Jahr
w ww 1-53 Lokale Woche im Jahr
e 1-7 Lokaler Wochentag
GGGG 2015 ISO-4-stelliges Wochenjahr
GG 15 ISO 2-stelliges Wochenjahr
W WW 1-53 ISO-Woche des Jahres
E 1-7 ISO-Wochentag
H HH 0-23 24-Stunden-Zeit
h hh 1-12 12-Stunden-Zeit mit "a A" benutzt
a A am pm Vor oder nach dem Mittag
m mm 0-59 Minuten
s ss 0-59 Sekunden
S 0-9 Zehntelsekunden
SS 0-99 Hundertstel einer Sekunde
SSS 0-999 Tausendstel einer Sekunde
Z ZZ +12:00 Abweichung von UTC als +-HH:mm, +-HHmm, oder Z

 

Von Menschen lesbare Datumsformate

Bei der Konfiguration von Arbeits- und Aufgabenplänen stellt der SAP Job Scheduling Service menschenlesbare Daten und Bereiche zur Verfügung.

Die Parameter time, repeatAt und repeatInterval sind für diese Daten und Bereiche anwendbar. Der SAP Job Scheduling Service verwendet für diese Funktion einen eingebauten Datums-Parser in englischer Sprache.

Spezifikation für Zeitplanungsparameter

Ein bestimmter Zeitstempel sollte durch den String-Wert angegeben werden, wenn ein Arbeitsplan gestartet wird.

Beispiel: "10 hours from now", "next week monday at 5am", "9pm tonight"

Dieser Parameter stellt eine praktische Methode zur Erstellung von Tagesplänen mit Zeitstempel dar. Die Zeichenfolge sollte einen bestimmten Zeitstempel angeben, zu dem ein Arbeitsplan regelmäßig ausgeführt wird. Die Struktur ist dieselbe wie bei den Vorschlägen für den time-Parameter, mit einem Unterschied: repeatAt muss einen Zeitstempel angeben, der jeden Tag gültig und konstant ist, während der Text für den time-Parameter etwas Bestimmtes und in der Zukunft Liegendes bezeichnen muss.

Beispiel: "4.40pm", "18.40", "6.20am", "17.20:30"

Mit diesem Parameter muss ein Intervall für die Wiederholung des Auftrags angegeben werden. Die folgenden Zeiteinheiten werden für diesen Parameter unterstützt: "Jahre", "Monate", "Wochen", "Tage", "Stunden", "Minuten" und "Sekunden".

Beispiel: "10 hours", "2 days", "5 minutes"

 

Schedule Lifecycle

Bei jedem Lauf durchläuft ein Zeitplan drei Lebenszykluszustände.

In der folgenden Tabelle sind die Lebenszyklusstatus aufgeführt:

Status Beschreibung
Scheduled Der Zeitplan wurde für einen späteren Lauf in die Warteschlange gestellt.
Running Der Zeitplan wird derzeit ausgeführt.
Completed Der Planungslauf ist abgeschlossen.

 

Für jeden Lebenszyklus-Zustand gibt es einen Übergangszustand. Sie können den Zeitplanlauf anhand der Kombination dieser Zustände untersuchen und nachvollziehen. Die Zeitplanprotokolle enthalten die mit jedem Zeitplan verbundenen Statusinformationen.

 

Mögliche Kombinationen

Die folgende Tabelle enthält Beschreibungen der einzelnen Kombinationen:

Status Übergangsstatus Beschreibung
Scheduled Scheduled Der Zeitplan wurde für einen späteren Lauf in die Warteschlange gestellt.
Running Triggered Der Scheduler hat eine Anfrage an den Endpunkt der Job-Aktion ausgelöst.
  ACK_RECVD Die Anwendung sendet eine "202-Accepted"-Nachricht und bestätigt damit die vom Scheduler gesendete Anfrage.
ACK_NOT_RECVD Auch nach einer gewissen Zeit hat die Anwendung noch keine "202-Accepted"-Nachricht zur Bestätigung der vom Scheduler gesendeten Anfrage gesendet.
Completed Request_Error Fehler beim Aufrufen des Endpunkts der Auftragsaktion.
  Success Die Anwendung hat den Auftrag erfolgreich ausgeführt und mit einem Statuscode (von 200 bis 399, außer 202-ACCEPTED) an den Scheduler geantwortet.
Error Die Anwendung ist während der Ausführung auf einen Fehler gestoßen und hat einen der in der Spezifikation des HTTP-Protokolls beschriebenen Server-Fehlercodes gesendet.
Unknown Die Anwendung hat die Job Run Log Update API nicht aufgerufen, um den Scheduler über den Status der Jobausführung zu informieren. Der Status wird nach einem konfigurierbaren Zeitintervall auf UNKNOWN gesetzt.

 

Status der Aktionen

In der folgenden Tabelle können Sie mehr über den Status der mit Cloud Foundry-Aufgaben verbundenen Aktionen erfahren:

Status Übergangsstatus Beschreibung
Scheduled Scheduled Der Zeitplan wurde für einen späteren Lauf in die Warteschlange gestellt.
Running Triggered Der Scheduler hat eine Anfrage an den Cloud Controller zur Erstellung von Cloud Foundry-Aufgaben ausgelöst.
  ACK_RECVD Der Cloud Controller erstellt erfolgreich eine Aufgabe.
Completed Request_Error Der Cloud Controller erstellt erfolgreich eine Aufgabe.
  Success Cloud Foundry-Aufgabe erfolgreich abgeschlossen.
Failed Die Aufgabe wurde nicht erfolgreich abgeschlossen, was zu einem Exit-Code ungleich Null führte.
Unknown Die Aufgabe war für den SAP Job Scheduling Service nicht verfügbar, um den Status abzuholen.

 

 

Fazit

Wir hoffen, Ihnen mit unserem Beitrag einen übersichtlichen Einblick in den Job Sceduling Service von SAP gegeben zu haben.

Falls Sie nun noch weitere Fragen zum Thema haben, melden Sie sich! Unsere Berater helfen Ihnen gerne weiter.

Khang Nguyen | SAP Developer
Zur Übersicht