Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Kollegen,

ich hab ein paar Fragen zum Thema "Jobsteuerung".

Zur Zeit werden unsere Programme von einem cronjob aufgerufen. Es wird aber immer wieder der Wunsch geäussert noch weitere Kriterien zur Jobsteuerung zu haben als nur die Zeit. Beispielsweise "Programm A soll nur laufen wenn Programm B erfolgreich beendet wurde". (die Programme schreiben einen Returncode in eine Datenbank)

Gibt es da ein Programm zur Jobsteuerung was auf einer AIX Maschine läuft? Wenn ja, welche Erfahrungen habt ihr mit welchem Programm gemacht? Kann man das ganze vielleicht doch als Shellscript lösen?

ich hab über google "Bagjas" gefunden, denke aber nicht, dass das auf meine/unsere Bedürfnisse passt. Für mich klingt das so als wenn das Programm nicht auf der eigenen Maschine läuft... o.O

gibt es eigentlich für kommerzielle Rechner kostenlose Software?

(wobei kostenlos wohl nicht zwingend ist, aber erstmal ne Demoversion zum Testen wäre vermutlich schon nicht schlecht...)

Was braucht ihr noch für Informationen? Ich bin leider auf dem Gebiet UNIX/AIX noch recht neu, kann also sein das ich was wichtiges übersehen hab...

Bin dankbar für jeden Tip.

Grüße

Geschrieben

ich hätte gern ein "Strg + F" für Bücher! ;)

ich lese mich grad durch ein UNIX Handbuch. Da steht was von Ablauffolgen und Bedingten Ausführungen.


[B]if[/B] programm_A

[B]then[/B]

   programm_B

[B]fi[/B]

Hätte mich auch ehrlich gesagt etwas gewundert wenn nicht, aber ich hab gedacht die "alten Hasen" wissen schon was sie tun...

programm_B wird ausgeführt wenn programm_A den Rückgabewert (exit code) 0 liefert. Was ich grad noch nicht im Handbuch gefunden hab:

woher kommt der exit code? Ich meine woher liest die Shell/das Skript/whatever diesen Code, bzw wohin/wie muss ich mit einem COBOL Programm den Code übergeben?

nunja, derjenige den ich hier im Haus fragen könnte ist heute nicht mehr da. Habt ihr eine Idee warum die Programme direkt mittels cronjob aufgerufen werden und nicht ein Ablaufskript welches dann die einzelnen Programme startet? Könnte das ein "Das haben wir schon immer so gemacht" Grund sein?

Geschrieben

Ich denke das läuft über die Variable "$?", die den Rückgabewert des zuletzte aufgeführten Programms beinhaltet.

Wobei ich nicht weiß, ob es die Variable "$?" auch unter AIX gibt.

Beispiel:


#!/bin/sh


./call_A.sh


if [ $? = 0 ]; then

        echo Programm_B

        ./call_B.sh

fi

Den Cron-Daemon setzt man ja immer ein, wenn man etwas zu einer bestimmten Zeit und in einem bestimmtem Intervall aufrufen möchte. Ich stell mir das schwierig vor, sowas in einem Skript zu realisieren, denn dafür gibt es ja den crond.

Geschrieben

ich bin noch nicht lange hier, darum hab ich noch nicht ganz raus wie hier was warum und wieso gemacht wird! :D

die Programme sollen ja immer zu bestimmten Zeiten laufen, darum mit cron. Zusätzlich würde man aber gern noch eine Bedingung einbauen, wenn Programm A nicht erfolgreich war brauch Programm B im Anschluß auch nicht laufen...

es hat sich anscheinend nur nie jemand darum gekümmert...

Geschrieben

die Programme sollen ja immer zu bestimmten Zeiten laufen, darum mit cron. Zusätzlich würde man aber gern noch eine Bedingung einbauen, wenn Programm A nicht erfolgreich war brauch Programm B im Anschluß auch nicht laufen...

Du startest via Cron ein Skript, dass bspw. die o.g. IF-Bedingung beinhaltet. Dadurch kannst du dann eine Start-Abhängigkeit zwischen den Skripten aufbauen.

Geschrieben

Klar gibts "$?" auch unter AIX. Das ist ne Variable der Shell, nicht des OS ;)

Wird aber sicher nicht ganz ohne sein, einen Exit-Code aus einem Cobolprogramm heraus zu übergeben. Grundsätzlich ist es so, daß JEDES Programm einen Exitcode per Default hinterlässt, wenn es unsauber terminiert.

Saubere Beendigungen sollen immer Wert 0 zurückgeben.

In Scripten kann man sowas mit "exit <wert>" erzwingen.

Unter Cobol funktioniert dies über ein spezielles Register, schau mal hier:

Help - IBM AIX Compilers

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...