Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Jürgen Schomann am 21.07.09 - 19:41:15
-
Im Serverdokument kann u. a. die maximale LostusScript/Java Ausführungszeit für den Agent-Manager festgelegt werden.
Bei einem LotusScript-Agenten wird beim Erreichen dieser Zeit auch immer noch das Terminate-Ereignis durchlaufen.
Meine Frage ist, ob man hier noch irgendwie eine Information erhalten kann warum die Beendigung erfolgte. In diesem Fall wäre es die Zeitgrenze, es könnten ja noch andere Ursachen sein.
Eine Frage noch dazu. Es wird bei o. g. Zeitgrenze ausdrücklich von LotusScript/Java gesprochen. Soll das bedeuten, dass @-Formel- Agenten keine Zeitbeschränkung haben?
-
Nach meinem Kenntnisstand bekommst Du keine Information im Terminate des Agents, ob dieser von der Laufzeitkontrolle abgeschossen wurde.
Du hast aber mehrere Möglichkeiten:
- Zeit im Agent stoppen und mit den EInstellungen vergleichen
- Error-Status kontrollieren - Agents müssen sich ja vernünftigerweise sowieso selbst überwachen. Warum also das Terminate ausgeführt wurde, kannst Du selbst (weitestehend) überprüfen.
Ich bevorzuge Variante 1. Hierbei ist allerdings eine gewisse "Reserve" einzuplanen - so, wie "sofort" für den AMgr nicht das selbe heisst wie für uns, gilt das auch für "60 Minuten" ;D
Bernhard
-
am Einfachsten gehts vermutlich wenn du dir in der "initialize" ein Statusflag merkst und dies beim terminate auswertest:
dim running%
sub initialize
running = true
... machwas
running = false
end sub
sub terminate
if running then print "Agent wurde unerwartet beendet"
end sub
Hinweis: Im Terminate hat man nur begrenze "Ressourcen" übrig. d.h. man kann nicht mehr viel Objekte anlegen und Objekte die man im "initialize" angelegt hat, leben u.U. im terminate nicht mehr.
Gruß
Roland