Das Notes Forum
Domino 9 und frühere Versionen => Administration & Userprobleme => Thema gestartet von: Norton am 10.09.04 - 11:02:14
-
Hallo zusammen,
kann ich bestimmten Agenten auf dem Server eine höhere Priorität zuweisen als anderen?
Wir haben in unserer Firma einen Agenten, der jedesmal laufen soll, sobald ein Dokument geändert wird oder neu hinzukommt. Da dies mind. alle zwei Minuten passiert, soll auch der Agent zeitnah laufen. Dieser läuft aber lediglich alle 15 Minuten, was zu lange ist.
Deswegen würde ich diesen Agenten gerne priorisiert laufen lassen und erhoffe mir dadurch, dass dieser sofort läuft und nicht durch andere Agenten in der Warteschleife behindert wird. Geht dies und wenn wie?
Bringt es mir denn auch den gewünschten Effekt, oder ist alle 15 Minuten das einzige was Notes verarbeitet?
Danke im Vorraus
Norton
-
Was die Entwicklerseite betrifft, kannst Du Dir hier mal Kap. 3.5.2 "Auslösung aufgrund eines Ereignisses (event trigger)" ansehen.
AtNotes BP: Agenten (http://www.atnotes.de/index.php?board=26;action=display;threadid=16181)
After documents are created or modified ...... Der Agent startet nicht direkt, sondern oft erst einige Minuten nach dem Ereignis.
Wie werden denn die neuen Dokumente erzeugt bzw. geändert?
Wäre denn evtl. der Querysave oder Postsave - Event eine Alternative, um den Code ausführen zu lassen? Dann läuft der Code immer direkt.
-
Priorisieren lassen sich Agenten nicht. Aus performance-Gründen werden alle scheduled-Agenten, also auch die "after modified or new" verzögert gestartet und bearbeiten dann oft mehrere Dokumente gleichzeitig. Aus demselben Grund (Serverauslastung/Performance) gibt es eine Mînimalzeit, die zwischen zwei Läufen desselben scheduled Agenten zu verstreichen hat, dieser kann per INI-Variable beeinflusst werden, stand früher mal per Default auf 30 Minuten (weiss nicht, wie der aktuelle Default-Wert ist, hab auch die Ini-Variable grad nicht zur Hand).
Wenn man tatsächlich so zeitnah laufen lassen will, dann ist die Anregung von Matthias goldrichtig: Querysave, dann läuft das auf dem Client direkt vor dem Speichern.
-
Semeaphoros hat Recht. Es handelt sich um den notes.ini Parameter
AMgr_DocUpdateAgentMinInterval=XX
Der Standard ist immer noch bei 30. Du kannst ja mal mit dem Eintrag spielen.
Gruß
-
Danke für den Parameter
-
Ein Querysave oder Postsave kommt nicht in Frage, aber die Parametereinstellung hilft bei meinem Problem.
Vielen Dank!
Gruß
Norton
-
Das ist so nicht ganz richtig.
"Specifies the minimum elapsed time between execution of the same documentupdate-triggered agent."
Und: Es gibt noch weitere NOTES.INI-Variable, die die Reaktion des AgentManagers beeinflussen können.
Ein Blick auf DRCC's NOTES.INI Reference lohnt sich:
http://drcc.dyndns.biz/ref/notesini.nsf/79011174126d5b56c1256af400518a13!SearchView (http://drcc.dyndns.biz/ref/notesini.nsf/79011174126d5b56c1256af400518a13!SearchView)
Als Suchwort dort "Amgr" eingeben.
Alle beeinflussbaren Werte betreffen aber den Zeitraum, wann ein bestimmter Agenttyp ERNEUT ausgeführt wird - nicht, wann der AgentManager zunächst reagiert. Hierfür gilt: ASAP - und das hängt dabei immer von der momentanen Auslastung des Servers ab.
Einen Weg, den AgentManagers zu zwingen, innerhalb von - sagen wir einmal - fünf Sekunden zu reagieren, kenne ich nicht.
Bernhard
-
....
Einen Weg, den AgentManagers zu zwingen, innerhalb von - sagen wir einmal - fünf Sekunden zu reagieren, kenne ich nicht.
Bernhard
Gibt es auch nicht.
NW
Onkel ToM
-
Das ist so nicht ganz richtig.
"Specifies the minimum elapsed time between execution of the same documentupdate-triggered agent."
Und: Es gibt noch weitere NOTES.INI-Variable, die die Reaktion des AgentManagers beeinflussen können.
Ein Blick auf DRCC's NOTES.INI Reference lohnt sich:
http://drcc.dyndns.biz/ref/notesini.nsf/79011174126d5b56c1256af400518a13!SearchView (http://drcc.dyndns.biz/ref/notesini.nsf/79011174126d5b56c1256af400518a13!SearchView)
Als Suchwort dort "Amgr" eingeben.
Alle beeinflussbaren Werte betreffen aber den Zeitraum, wann ein bestimmter Agenttyp ERNEUT ausgeführt wird - nicht, wann der AgentManager zunächst reagiert. Hierfür gilt: ASAP - und das hängt dabei immer von der momentanen Auslastung des Servers ab.
Einen Weg, den AgentManagers zu zwingen, innerhalb von - sagen wir einmal - fünf Sekunden zu reagieren, kenne ich nicht.
Bernhard
@koehlerbv: Stimmt. Jedoch wird der Parameter für Norton trotzdem von Nutzen sein, da der Zeitraum in dem der Agentmanager den Agent erneut ausführt, definitiv verkleinert wird! Und das ist das was er will.
-
Das habe ich nicht bestritten ;)
Bernhard
-
Ein Querysave oder Postsave kommt nicht in Frage
Da wäre noch interessant zu wissen: Warum nicht?
Außerdem: Wie werden die Doks geändert bzw. neu erzeugt?
Was sind die Hintergründe?
Ich als Entwickler mag solche Agent-Trigger überhaupt nicht. Mein Ziel ist es immer, dort wo möglich, zur Laufzeit Code auszuführen - oder halt dann scheduled.
Admins mögen diese Agents noch viel weniger, da dadurch die Serverlast erhöht wird.
Daher wäre interessant, warum Du es genau so brauchst (also warum es genau dieser Agent-Trigger sein muss) - und ob es nicht doch Alternativen gibt.
-
vielleicht hilft es auch wenn man am server noch ein oder zwei amgr mehr startet...denn es kann bei nur einem gestartetem amgr halt dazu kommen, das dieser geblockt ist und somit dein agent warten muss...
sehen kann man sowas wenn man im fall der fälle "tell amgr sched" auf der konsole eingibt und dann die ersten beiden buchstaben betrachtet....steht als erstes ein "e" dann ist der agent eligable...was so viel heisst er ist zur ausführung vorgesehen und wartet darauf das der amgr frei wird und ihn ausführt...
-
Na, das sind aber nicht mehrere amgr's, sondern Du meinst den Eintrag im Server-Dokumente, wieviele Agenten gleichzeitig laufen dürfen. Der AMGR ist immer nur einmal vorhanden. Auch da gibt es natürlcih Abwägungen zu treffen, denn mehr Agenten gleichzeitig bedeutet auch eine höhere Auslastung pro Zeiteinheit