[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Jul 2017
    Beiträge
    14

    Rausfinden ob ein Job nicht läuft?

    Guten Morgen : ),

    ich habe da mal eine Frage, gibt es eine Möglichkeit mittels RPG rauszufinden ob ein Job auf der IBM i nicht läuft?

    Wir haben bei uns verschiedene Jobs zur Datenverarbeitung laufen und manchmal kommt es vor das diese Jobs nicht laufen. Zum Beispiel wenn manuell in unsere nächtliche Verarbeitung eingegriffen wird.

    Dies möchte ich nun abfangen da diese Jobs das A und O bei uns sind. Gibt es da so eine Art API oder eventuell auch eine Prozedur eines IBM i Gurus ?

    Ich stelle mir das momentan so vor das ich ein RPG schreibe welches z.B. alle 15 Min prüft ob ein Job mit Name X in dem Subsystem Y vorhanden ist, falls nicht sollen N Mitarbeiter per E-Mail benachrichtigt werden.

    Bin für jede Info dankbar ; )

    Liebe Grüße

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    ... da gibt es bessere Methoden:
    - der unkaputtbare: JOBQ mit einem Job in die sich dein Programm als erstes selber submitted
    - der selbständige: als erstes eine Exithandler registrieren (API CEE4RAGE) der wird bei Programmende immer noch ausgeführt.

    Natürlich muss man dafür sorgen, dass kritische Programme nicht auf MSG wait hängenbleiben und bei RCVDTAQ etc. darf kein endlos wait eingestellt sein.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.869
    Hast Du Dir die User Defined Table Function Active_Job_Info() schon einmal angeschaut?
    ACTIVE_JOB_INFO table function

    Das folgende SQL-Statement, das Du einfach in embedded SQL einbindest bringt einen Satz zurück, sofern der Job im Subsystem aktiv ist, ansonsten wird kein Satz zurückgegeben:
    Code:
    Select * 
    from Table(Active_Job_Info(SUBSYSTEM_LIST_FILTER => 'YOURSBS',
                               JOB_NAME_FILTER       => 'YOURJOBNME')) x;
    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Nun, ich denke eher daran, dass ein Job aus irgendwelchen Gründen aus der Verarbeitung herausgenommen wurde.
    Um also festzustellen, ob ein Job überhaupt gelaufen ist, dient wohl eher DSPLOG.
    Für jeden gestarteten und beendeten Job gibt es entsprechende Einträge mit Namen des Jobs.
    Und bestimmt gibt es auch ein API dazu.
    nun muss man nur prüfen, ob ein gewünschter Eintrag innherhalb einer erwarteten Zeit (+/- x Minuten) vorkommt.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Jul 2017
    Beiträge
    14
    Zitat Zitat von B.Hauser Beitrag anzeigen
    Hast Du Dir die User Defined Table Function Active_Job_Info() schon einmal angeschaut?
    ACTIVE_JOB_INFO table function

    Das folgende SQL-Statement, das Du einfach in embedded SQL einbindest bringt einen Satz zurück, sofern der Job im Subsystem aktiv ist, ansonsten wird kein Satz zurückgegeben:
    Code:
    Select * 
    from Table(Active_Job_Info(SUBSYSTEM_LIST_FILTER => 'YOURSBS',
                               JOB_NAME_FILTER       => 'YOURJOBNME')) x;
    Birgitta
    Ich danke dir : )
    Genau so etwas habe ich gesucht, einfach nur Info ob Job aktiv oder nicht. Werde mir das anschauen und dann ein wenig rumspielen : P

    Auch an die anderen ein Danke für die Mühe

    Wünsche allen noch ein schönes Wochenende!

    Liebe Grüße

  6. #6
    Registriert seit
    May 2002
    Beiträge
    1.121
    Zitat Zitat von B.Hauser Beitrag anzeigen
    Hast Du Dir die User Defined Table Function Active_Job_Info() schon einmal angeschaut?
    ACTIVE_JOB_INFO table function

    Birgitta
    Ab wann gab/gibt es diese Funktion?

    Ich habe/hatte so was immer über API gelöst. Allerdings ging es bei mir darum zu prüfen ob irgend ein Job auf MSGW steht.

    Gruß
    Ronald

  7. #7
    Registriert seit
    Aug 2001
    Beiträge
    2.869
    Wann die Funktion genau eingeführt wurde, weiß ich nicht. Sie steht jedoch mit entsprechendem PTF (SF99701 Level 34) auch unter Release 7.1 zur Verfügung.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Nun, wie die Funktion schon beschreibt, listet sie nur aktive Jobs auf und basiert auf demselben API wie WRKACTJOB.
    Damit kann man natürlich prüfen, ob ein Job gerade jetzt nicht läuft, aber nicht, ob er überhaupt zur vorgesehenen Zeit gelaufen ist.
    Je nach Anzahl Jobs im System und Dauer des Jobs, der abgefragt wird, kann alleine die 2malige Abfrage des API's hintereinander trotzdem dazu führen, dass der Job nicht erwischt wird, da er zu kurz läuft.

    Was die ganzen neuen SQL-Funktionen angeht so sind sie alle der Ablösung des iSeries Navigators geschuldet, der das ganze mit API's erledigte. Und es kommen anscheinend ständig neue dazu.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  9. #9
    Registriert seit
    Nov 2003
    Beiträge
    2.304
    Läuft der Job die ganze Nacht durch oder wird er auch mal fertig?

    Zitat Zitat von katdom Beitrag anzeigen
    Ich stelle mir das momentan so vor das ich ein RPG schreibe welches z.B. alle 15 Min prüft ob ein Job mit Name X in dem Subsystem Y vorhanden ist, falls nicht sollen N Mitarbeiter per E-Mail benachrichtigt werden.

  10. #10
    Registriert seit
    Jul 2017
    Beiträge
    14
    Normalerweise läuft der Job von morgens bis Abends(von Ende Nachtverarbeitung bis start Sicherung),
    aber es kommt gelegentlich vor das die Nachtverarbeitung auf einen Fehler läuft, dann werden die nachfolgenden Jobs entweder nicht gestartet oder die Jobs werden nochmal manuell morgens beendet damit die Nachtverarbeitung nochmal laufen kann.

    So oder so wird dann oft vergessen die Jobs noch einmal zu starten, und um zu verhindern das dies erst am Nachmittag (oder gar nicht : P ) auffällt eben die E-Mail die eine Info gibt.

  11. #11
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    ... und dann am besten gleich noch einen Job, der nachsieht, ob der Job, der nachsehen soll, auch wirklich nachsieht und einen Job, der nachsieht, ob der Job der nachsehen soll ob der Job ...

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  12. #12
    Registriert seit
    Jul 2017
    Beiträge
    14
    wieso? Der Job der nachsieht kann ja von mir aus 24/7 die Woche laufen, der sperrt ja keine Tabellen oder sonst was und muss daher folglich nicht beendet werden

Similar Threads

  1. Server Firmware MH01653 per PTF läuft nicht.
    By Mida in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 25-02-17, 14:09
  2. UDF mit create Table läuft nicht in Batch
    By msost in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 08-09-16, 18:36
  3. CA und gui läuft nicht mehr nach 20 Minuten
    By tfroehlich in forum IBM i Hauptforum
    Antworten: 14
    Letzter Beitrag: 12-02-16, 14:51
  4. Karenzzeit läuft ab
    By Ottmar Günter in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 03-02-03, 22:08
  5. data propagator läuft nicht auf R5V1 falsche CCSID
    By rebe in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 04-04-02, 09:36

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •