Domino 9 und frühere Versionen > ND6: Entwicklung

Zeitgesteuerten Agenten nicht mehrfach starten

(1/2) > >>

DatenDuck:
Hallo Leute,

wie kann man verhindern, dass ein zeitgesteuerter Agent nicht mehrfach auf dem selben Server startbar ist?
Das gilt sowohl für den Fall wenn ein Agent sehr lange läuft und den Agent Manager Intervall überschreitet, als auch wenn (aus welchem Grund auch immer) der Agent per "tell amgr run ..." gestartet wird, während bereits eine Instanz läuft.

Ich finde keine Art von "single instance" Option bei einem Agenten, daher schätze/hoffe ich, das lässt sich per Script realisieren.

Vielen Dank schon mal für die Hilfe!

Bis dann,
-Moritz

tfrenz:
Hallo,

ähnliche Probleme hat man auch, wenn man mehrere Server in einem Cluster hat und im Agenten keinen eindeuteigen Server hinterlegt hat.
Man bedenke das in einem Cluster ein Agent nicht nur auf einen bestimmten Server laufen zu lassen.

Gruß
Thomas

m3:
Designer-Hilfe, Thema "CodeLock function"

DatenDuck:
Sieht ja schon mal gut aus!
Was nur irgendwie hinderlich ist, ist dass CodeLock() bei gesetztem Lock wartet, statt False zurückzugeben. So kann man den Agenten ja nicht abbrechen, sondern man wartet lediglich bis der zur Zeit laufende Agent fertig ist.
Das verhindert zwar, dass der selbe Agent nicht mehrfach läuft, dafür bildet sich eine Warteschlange...

Gibt's da irgend eine Abbruchlösung (oder habe ich das nur noch nicht ganz verstanden mit den Locks)?

Peter Klett:
Ich würde an eine zentrale Stelle den Startzeitpunkt vom Agenten schreiben lassen (z.B. notes.ini, ein Einstellungs- oder Profildokument o.ä.). Als letzte Aktion des Agenten würde ich diesen Eintrag wieder löschen.

Startet der Agent und findet einen Eintrag, wird das Script beendet. Zur Sicherheit würde ich zusätzlich eine Toleranzzeit definieren, z.B. eine Stunde, falls der Agent beim vorigen Lauf abgestürzt ist. Wenn der gefundene Eintrag älter als die Toleranzzeit ist, läuft er trotzdem weiter.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln