Festhängende Agenten beenden

  • Hallo zusammen,


    ihr könnt mir doch bestimmt helfen, wie ich euch kenne.


    Ich habe in einigen Anwendungen Zugriff auf unsere SQL-DB's und unser EAP System. Um nun nich auf jedem Client eine ODBC einzurichten habe ich es so gemacht, dass ich eine ODBC auf dem Server erstellt habe und aus den Dokumente ein temporäres Dokument erstellte welches duch einen Agenten, der durch RunOnServer gestartet wird, gefüllt wird. Wenn der seine Aufgaben erledigt hat, werte ich das Dokument auf dem Client aus.


    Nun ist es manchmal so, das z.B durch einen ODBC Fehler auf dem Server (den ich leider nich abfangen kann) oder andere Problem der Agent nich zu ende läuft, sich dadurch der Client aufhängt und durch Neustart oder [STRG]+[UNTBR] beendet werden muss.


    Die Agenten die dann auf dem Server laufen blockieren dann manchmal die nächsten Aufrufe.
    Nun meine Frage, kann ich die "Leichen" irgendwo beenden?
    Werden die vom Agmgr ausgeführt oder duch einen anderen Dient?
    Wie kann ich diese finden und beenden da Sie mir die ODBC sperren?!


    Vielen Dank für Tipps und Hinweise, auch solche wie ich das besser regeln kann. Leider gibt es keinen WebService Client für LS (keinen ohne Anpassungen aller Clients z.B. SOAPConnect ) , aber da bin ich dran :)

  • WebService Consumer gibt es leider erst ab 8er Clients unter Lotus Script.


    Was spricht denn gegen einen periodischen Agenten, der diese Aktionen durchführt anstatt eines RunOnServers ?


    Ein RunOnServer-Agent kannst du eigentlich nur durh Neustarten des Servers beenden, da dieser nicht unter Kontrolle des AgentManagers läuft und vor allem auch nicht an die Zeitbegrenzungen im Serverdokument gebunden ist.


    Allerdings glaube ich ehrlich gesagt nicht, daß so ein Fehler nicht abzufangen ist.
    Ich habe bisher bei ODBC verbindungen jeden Fehler abgefangen und behandelt bekommen

  • Hallo taurec,


    danke für die Antwort.
    Einperiodischer agent hilft mir nicht, das ich die Daten baurche wenn der Benutzer den Button drückt und nicht 5 minuten warten kann bis der agent das nächste mal läuft. Als beispiel :


    Kundennummer eingeben ->
    Button drücken ->
    Agent starten ->
    Agent läd daten und schriebt sie in Dokumente ->
    Daten aus Temp-Doc in das UIDocument schrieben


    Das sind ja keine Fehler der LS ODBCconnection sonder der System DSN auf dem Server.


    D.h ich rufe ODBCConnection.connectTo() auf, die System DSN schmeißt einen Fehler z.b Ziel nicht erreichbar. Dann hat Windows ein Pupup wo ich die Fehlermeldung bestätigen muss und anschließend die Benutzerdaten für den Aufruf neu eingeben muss.
    Der Funktionsaufruf wartet nun so lange bis irgendwer auf dem Server die Fehlermeldung bestätigt. Erst dann wird an den connectTo Aufruf die Rückmeldung versendet.
    Das ähnelt dann einen Fehler im Client und die User beenden diesen.
    Dann entstehen die oben genannten Probleme.


    MfG