Ausführen von Jobs

Job-Objekte können Kommandos auf Rechnern oder in Enterprise Business Solutions (SAP, PeopleSoft, Oracle Applications usw.) ausführen. Die Scripts auf den Prozess-Seiten des Jobs werden auf eine bestimmte Weise verarbeitet. In Abhängigkeit von der JCL (Job Control Language) und den Script-Elementen wird ein ausführbarer Job für das entsprechende Zielsystem generiert und per FileTransfer übertragen.

Das Automation Engine scripting language (falls vorhanden) und die JCL-Zeilen werden verarbeitet und anschließend wird die JCL an das Zielsystem geschickt. Das Automation Engine scripting language wird nie an das Zielsystem gesendet.

Wenn ein Job ausgeführt wird, erreicht er den status ENDED_OK, sobald die Ausführung beendet ist. Der Status des Objekts wird bei eingetragenen Post-Verarbeitungsoptionen nicht auf ACTIVE geändert.

Diese Seite beinhaltet Folgendes:

Windows

Unter Windows sollten Sie die Benutzerkontensteuerung ausschalten, um mögliche Fehler aufgrund fehlender Berechtigungen zu vermeiden.

Datenbank

Der Datenbank-Agent versucht in regelmäßigen Abständen, eine Verbindung zur Datenbank aufzubauen, wenn ihm dies beim ersten Mal nicht gelingt. Dieses Intervall kann der Administrator im Parameter connect= der INI-Datei definieren. Während dieser Verbindungsaufbauversuche bleibt der Job im Zustand Aktiv.

Wenn der Agent keine Verbindung zur Datenbank herstellen kann, weil die Anmeldedaten im Login-Objekt falsch sind, bleibt der Job ebenfalls im Zustand Aktiv und muss abgebrochen werden. Er muss manuell abgebrochen werden, entweder in der Perpektive "Process Monitoring", unter Verwendung der Script-Funktion CANCEL_UC_OBJECT oder direkt im Job durch Überwachung der maximalen Laufzeit (siehe Die Seite Laufzeit definieren).

Hinweis: Ein Kommando, das der Agent zum Zeitpunkt des Jobabbruchs in der Datenbank ausführt, kann nicht beendet werden. Diese Funktion stellt die JDBC-Schnittstelle nicht zur Verfügung. Ein Abbruch kann nur zwischen zwei Kommandos erfolgen. Der Agent wartet daher, bis das sich gerade in Ausführung befindliche Kommando fertig ist, und bricht den Job erst danach ab. Verwenden Sie die Funktionen Ihres Datenbankservers, um laufende Kommandos abzubrechen.

UNIX

Der Benutzer, den Sie im Login-Objekt verwenden, ist auch der Besitzer der Job- und Reportdatei. Der Administrator kann über die INI-Datei des Agenten (Parameter JobFileMode= und ReportMode=) Berechtigungen für beide Dateien zuweisen.

Hinweis: Es wird empfohlen, den Parameter Login_check= in der INI-Datei auf yes zu setzen. Auf diese Weise erfolgt eine Prüfung des im Login-Objekt angegebenen Passworts. Wenn Sie ihn auf no setzen, wird nur der Benutzername geprüft.

Fehlerbehebung - LD_LIBRARY_PATH überschrieben

Jobs, die für die Ausführung auf UNIX-Agenten eingeplant sind, können kundenspezifische Scripts enthalten. Die Automation Engine verarbeitet diese Scripts zuerst, wodurch kundenspezifische Snippets und AE-Aufrufe kombiniert werden. Einer dieser Aufrufe ist der Messenger; eine Agenten-Binärdatei, die unter Verwendung der neuesten Systembibliotheken gestartet werden muss.

Die Umgebungsvariable LD_LIBRARY_PATH übernimmt die Kontrolle über die Bibliothekspfade, die der Loader verwendet, wenn ausführbare Objekte laufen. Wenn ein kundenspezifisches Script die Umgebungsvariable LD_LIBRARY_PATH ändert, während der Loader ausgeführt wird, bleibt die Änderung in der Shell-Umgebung. Wenn die Messenger-Binärdatei danach ausgeführt wird, schlägt das Laden fehl und die Jobausführung wird abgebrochen. In diesem Fall werden die entsprechenden Fehlermeldungen in die Logs geschrieben.

Beispiel

.../agents/bin/ucxjlx6m: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found

.../agents/bin/ucxjlx6m: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found

Um diese Art von Problemen zu verhindern, stellen Sie sicher, dass Änderungen an der Umgebungsvariablen LD_LIBRARY_PATH rückgängig gemacht werden, sobald sie nicht mehr benötigt werden. Dazu können Sie eine Untershell verwenden.

Beispiel

Vor der Verwendung einer Unter-Shell:

# Es muss ein spezieller binärer
Export geladen werden: LD_LIBRARY_PATH=/my_special_libs/
./run_my_special_bin.sh

# LD_LIBRARY_PATH wird weiterhin überschrieben

Nach Verwendung einer Unter-Shell:

(
# Es muss ein spezieller binärer
Export geladen werden: LD_LIBRARY_PATH=/my_special_libs/
./run_my_special_bin.sh
)
# LD_LIBRARY_PATH wird nicht mehr überschrieben

Siehe auch:

Jobs (JOBS)