Domino 9 und frühere Versionen > ND7: Entwicklung

Bug - Agent execution time?

<< < (2/4) > >>

Demian:
...wobei sich mir das mit der Router-Performance nicht so ganz erschließt. Ich hätte gedacht, dass ein Agent mit diesem Trigger zwar regelmäßig den Router auf Mails prüft, jedoch bei Verarbeitung dann "losgelöst" arbeitet. Bei .RunOnServer dachte ich bisher eigentlich auch, die Agenten laufen dann autark auf dem Server.

Meine Überlegung wäre jetzt ggf. mit .SendConsoleCommand und Tell Amgr run zu arbeiten. Nur wirklich sicher sein, dass der Agent dann direkt lostritt und das Änderungsdokument verarbeitet kann ich hier nicht sein, oder?

koehlerbv:
Wieso erschliesst sich das nicht? VOR Eingang neuer Mail heisst: Der Router kann erst weiter machen, wenn der durch den Eingang neuer Mail gestartete Agent fertig ist - eher kann da ja nix weitergehen. Wenn Du dann eine Aktion antreten würdest, die eine Stunde läuft, dann wqeisst Du, was das bedeutet: Du kannst max. 24 Mails am Tag empfangen.

Weiters erschliesst sich mir nicht, was ein Agent in Bezug auf eine neue Mail soviel herumwurschteln muss. Verarbeite halt die Mail und packe etwas in die DB, die das was angeht. Und da kann dann ein Agent "Auf neue oder modifizierte Dokumente" losrennen (oder anderes).

Bernhard

Demian:

--- Zitat von: koehlerbv am 08.05.11 - 23:27:49 ---Wieso erschliesst sich das nicht? VOR Eingang neuer Mail heisst: Der Router kann erst weiter machen, wenn der durch den Eingang neuer Mail gestartete Agent fertig ist - eher kann da ja nix weitergehen. Wenn Du dann eine Aktion antreten würdest, die eine Stunde läuft, dann wqeisst Du, was das bedeutet: Du kannst max. 24 Mails am Tag empfangen.
--- Ende Zitat ---
Ok, also läuft das vom Router aus? Ich hätte gedacht, der Agent prüft den Router regelmäßig auf Mails und wenn eine da, wird die halt verarbeitet. Sowas steht aber auch nicht in der Hilfe, jedenfalls nicht da wo die Einstellung erläutert ist.  :(


--- Zitat von: koehlerbv am 08.05.11 - 23:27:49 ---Weiters erschliesst sich mir nicht, was ein Agent in Bezug auf eine neue Mail soviel herumwurschteln muss. Verarbeite halt die Mail und packe etwas in die DB, die das was angeht.
--- Ende Zitat ---
So ähnlich läuft es ja. In DB 1 wird etwas geändert und davon sind unter Umständen auch Dokumente in DB2 betroffen. DB1 schickt also eine Mail mit den alten und neuen Feldwerten des geänderten Dokumentes an DB2, die dann alle betroffenen Dokumente ändern soll.


--- Zitat von: koehlerbv am 08.05.11 - 23:27:49 ---Und da kann dann ein Agent "Auf neue oder modifizierte Dokumente" losrennen (oder anderes).
--- Ende Zitat ---

Hätte ich ursprünglich auch gerne so gelöst, nur hab ich dann das Problem, dass ggf. schon wieder eine weitere Änderung gemacht wurde und der Agent die 1. noch gar nicht verarbeitet hat, weil er erst später anspringt. Genau das konnte ich mit dem Trigger "vor neuer Mail" vermeiden. Hier wird/wurde die Änderung dann direkt weiterverarbeitet. So müsste ich im Agent noch programmatisch vergleichen, welche Änderung denn die letzte ist. Da hier nicht nur eine Maske in einer DB betroffen ist, würde das den Rahmen ziemlich "sprengen".

Steh im Moment etwas auf dem Schlauch wie ich es hinkriege, dass die Änderung sofort weiterverarbeitet wird.

koehlerbv:
"Sofort" ist beim Domino immer "sowie er Zeit hat".

Du kannst doch an DB2 ein Änderungsanforderungsdokument schicken. Das landet in einer "unsortierten" Ansicht (es wird also nach Erstellungszeitpunkt sortiert) - damit hast Du immer die korrekte Reihenfolge der abzuarbeitenden Tasks.

HTH,
Bernhard

Tode:
Ergänzend ist noch zu sagen:

Du darfst in Deinem Agenten dann natürlich NICHT auf unprocessed documents gehen (diese collection ist nämlich wieder unsortiert), sondern musst über einen View- Navigator oder direkt über die view (mit GetFirst und GetNext) gehen....

Gruss
Tode

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln