Autor Thema: Funktion UnprocessedSearch  (Gelesen 1103 mal)

Offline kdreier

  • Frischling
  • *
  • Beiträge: 32
  • Geschlecht: Männlich
Funktion UnprocessedSearch
« am: 24.05.06 - 09:21:31 »
Hallo,
in einer Anwendung benutze ich in einem Agenten die Funktion "UnprocessedSearch" um neue oder geänderte Dokumente seit der letzten Agentenausführung zu finden und Benutzer eine Benachrichtigung zu schicken. Agent Target sind alle "new & modified...". Und nach Abarbeitung werden auch alle Dokumente mit "UpdateAll" entsprechend markiert.  :D

Das klappt auch alles prima.
Doch ein Problem habe ich. Ändere ich etwas im Agenten (Fehler, Funktion, etc.) und aktiviere den Agenten auf dem Server wieder, werden alle existierenden Dokumente wieder als neu oder modifiziert behandelt und dementsprechend auch an alle Benutzer gemeldet. Das stört natürlich etwas.  :(

Nun möchte ich, daß bei Reaktivierung des Agenten nicht mehr alle vorhandenen Dokumente als neu behandelt werden. Über ein zusätzliches Flag im Dokument, das bei Änderung gesetzt und bei Lauf des Agenten zurückgesetzt wird, lässt sich das natürlich tun. Das möchte ich aber vermeiden, da bereits eine Menge Code beim Speichern und auch im Agenten abläuft.

Gibt es andere Ideen, das zu realisieren?

Danke
Karsten

Offline diam

  • Frischling
  • *
  • Beiträge: 6
Re: Funktion UnprocessedSearch
« Antwort #1 am: 24.05.06 - 11:05:50 »
Hallo!

Du könntest den gesamten Inhalt des Agenten in eine Funktion einer Bibliothek einfügen und nur diese Funktion in deinem Agent aufrufen. Wenn du die Bibliothek abänderst, ändert das nicht den Status des Agenten.

Dirk

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Funktion UnprocessedSearch
« Antwort #2 am: 24.05.06 - 11:25:35 »
@Diam: Bist du dir da sicher? Wenn du den Code in der Scriptlib veränderst, muss der Agent auch neu kompiliert werden, sonst wird die Änderung nicht vollständig übernommen.

Offline diam

  • Frischling
  • *
  • Beiträge: 6
Re: Funktion UnprocessedSearch
« Antwort #3 am: 24.05.06 - 11:42:49 »
Hallo!

Das habe ich so schon gemacht, und ich hatte den Eindruck das es auch funktioniert.

' ''''''''''''' Bibliothek 'Beispiel'
Sub BeispielInitialize()
  dim session as new NotesSession

  dim db as NotesDatabase
  set db=session.currentDatabase

  dim dc as notesDocumentCollection
  ....
End Sub

' ''''''''''''''' Agent 'Beispiel'
use "Beispiel"
Sub Initialize
  call BeispielInitialize()
End Sub

Ich gehe davon aus, daß im Agent nur eine Referenz zur Funktion 'BeispielInitialize' in der Bibliothek 'Beispiel' gespeichert wird und nicht der Inhalt der Funktion. Da die Paramter nicht mehr geändert werden sollte es keine Probleme geben.

Ich bin mir jetzt nicht sicher wie es ist, Klassen in der Bibliothek zu nutzen und diese zu ändern.

Dirk

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Funktion UnprocessedSearch
« Antwort #4 am: 24.05.06 - 11:45:31 »
Aber warum muss man dann den Agenten neu kompilieren, damit der eine Änderung an einer ScriptLib mitbekommt? Ich hatte schon oft das Problem, dass Funktionen dann noch oft in einer "alten" Fassung liefen, bevor man sie neu kompiliert sprich gespeichert hat.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz