Domino 9 und frühere Versionen > ND7: Entwicklung
Wann läuft der Agent?
Glombi:
Für so was macht man eigentlich keine periodischen Agenten sondern ein
msgbox "Ihr Antrag wird nun bearbeitet!",0+64,"Hinweis"
Call agent.RunOnServer(doc.NoteID)
die NoteID des Dokumentes mitgeben, das verarbeitet werden soll und im Agenten selber dieses dann per
Set doc = db.GetDocumentByID(agent.ParameterDocID)
Andreas
koehlerbv:
Kommt darauf an, Andreas. Matthias möchte ja (minimale oder auch mal längere) Responsezeiten vom Server vermeiden. Wenn man derartige Aktionen auch offline durchführen bzw. anbieten möchte, fällt RunOnServer ebenfalls aus.
Matthias muss nun entscheiden, welche Möglichkeit für ihn die optimale ist.
Vielleicht haben wir noch eine Variante vergessen: Die Einlieferung eines Requests per eMail. Auch das KANN vorteilhaft sein (und wird auch relativ (!) schnell beantwortet) und erfordert ggf. nicht die Überwachung der Datenbank selber (oder "eMail bekommen und dann dem Link folgen" oder wie auch immer).
Viele Wege führen nach Rom.
Bernhard
botschi:
Danke für die Hilfe erstmal!
Ich versuche es erstmal mit einem RunOnServer, ohne periodischem Agenten. An sich ist das ja auch nicht schlecht. Ich befürchte nur, dass der Agent den Arbeitsplatz zu lange sperrt- wobei "lange" natürlich relativ ist und auch ansichtssache.
Wenn das Ergebnis passabel ist, dann lasse ich es auch so.
Wir haben in der DB eh einen Agenten, der alle 30 Minuten andere Anträge verarbeitet und ich dachte es sei schlau, diesen gleich zu nutzen.
Die Nachricht für die Anwender, wann der Agent läuft, sollte auch nur ein goodie sein. Auf die Minute muss das nicht stimmen.
Sehr attraktiv finde ich auch die Lösung mit der Mail. Ist es so gemeint:
Mails werden in DB_A erzeugt und gehen an ein Postfach (DB_B), Agent rennt los bei Eingang neuer Mail und macht was in DB_A.
So hätte man gleich eine Art Protokollierung über die Anträge in der MailIn-DB...
Glombi:
Falls die Db lokal ist, gilt für RunOnServer:
On a local database, the RunOnServer method works like the Run method, that is, runs the agent on the local computer.
Was ich nun nicht genau weiß: Ist der Client wirklich die ganze Zeit gesperrt, während der Agent auf dem Server läuft? Eigentlich habe ich da andere Erfahrungen, aber da der Agent ja auch den status zurückliefert, müsste der Client warten.
Der Vorteil für RunOnServer ist, dass der Agent mit den Rechten des Agentunterzeichners ausgeführt wird.
Wenn Du bereits einen periodischen Agenten hast, der alle 30 Min läuft, kannst Du diesen auch mittels RunOnServer aufrufen.
Andreas
botschi:
Stimmt ja, den kann ich ja auch aufrufen....
MUSS ich dem Agenten denn ein Dok übergeben? Ich glaube nicht. Denn werde ich das wohl mal als erstes probieren, wäre der geringste Aufwand für mich jetzt 8)
Man MUSS ja nicht immer den komplizierten Weg gehen...
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln