Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Jeremias am 06.09.07 - 12:15:27
-
Hallo,
habe auch mal wieder ein Problem im Angebot:
In einer Datenbank habe ich einen "scheduled agent", der lokal auf den Clients periodisch ein bestimmtes Verzeichnis nach Dateien untersucht und bei gefundenen Dateien Dokumente anlegt. Dies funktioniert auch soweit, jedoch immer nur auf einem Client.
Der Agent ist auf "local" gestellt und die Clients haben "enable scheduled local agents" aktiviert.
Um sich dem Problem anzunähern, habe ich mir den Agent auf unterschiedlichen Clients angeschaut und festgestellt, dass bei "Runs on" unter "Schedule" dann die Client-ID des Clients der zuletzt den Agenten ausgeführt hat, steht.
Dadurch, dass sich die Datenbank regelmäßig repliziert, wird dieser Eintrag natürlich auch an die anderen Clients übertragen und SChwupps - läuft der Agent auf den anderen Clients nicht mehr.
Muss ich jetzt für jeden Client einen eigenen Agenten erstellen ? Kann ich mir irgendwie nicht vorstellen....
-
Hallo,
wenn ich es richtig verstehe, hast Du eine Replik der DB auf dem Server und mit der gleicht jeder Client seine lokale DB ab.
Du könntest es Dir einfach machen und auf der Server-Replik unter den Replikations-Parameter einstellen, dass keine Agenten repliziert werden sollen und schon sollte es (wenn der Agent einmalig überall korrekt eingestellt wurde) funktionieren.
-
Gute Idee !
Dann muss ich mich nur wieder daran erinnern, wenn ich was am Code ändere :)
Ich glaub so mach ich das...
Würde trotzdem nochmal ganz gerne ne Rückmeldung von jemand haben, dass das beschriebene Verhalten standardkonform ist. (Ein und derselbe lokale Agent, kann bei replizierenden Db's nicht auf verschiedenen Clients seinen Dienst verrichten?)
Mfg
Jeremias
-
Das ist sogar sehr standard konform und wird noch interessanter wenn man denselben Typ von Agent auf mehreren Server laufen lassen will. Das geht auch nur mit mehreren Kopien des Agents.
-
Warum stellst Du bei "Ausführung auf" nicht "Alle Server" ein (und sorgst ggf. dafür, dass der Code auf einem "richtigen" Server nicht ausgeführt wird)?
Bernhard
-
So, zurück vom Mittagessen.
Dein Vorschlag Bernd ist natürlich auch nicht schlecht!
Genau genommen schadet es auch gar nicht, wenn der Agent ebenfalls auf dem Domino Server läuft.
Teste diese Option gerade ....
Wenn ich das jetzt richtig sehe, gibt es in dieser Situation drei Wege:
1. Mehrere Kopien des Agenten
2. Option -Any Server-
3. Replizierung von Agenten deaktivieren
Vielen Dank für eure Antworten.
-
Gibst Du Bescheid, wie Deine Studien ausgegangen sind? Welche Möglichkeit hast Du dann benutzt (und warum)? Das wird hier sicherlich vielen nützen.
Bernhard
-
Ich zitiere mich hier mal selber - die Frage steht ja unverändert. ;)
Gibst Du Bescheid, wie Deine Studien ausgegangen sind? Welche Möglichkeit hast Du dann benutzt (und warum)? Das wird hier sicherlich vielen nützen.
-
Hallo,
danke für die Erinnerung Bernhard ;)
Dein Vorschlag hat sich durchgesetzt. Der Agent steht auf -Any Server- .
Wobei man wg. dem Zugriff auf das Dateisystem Sorge tragen muss, dass die ID, unter der der Agent läuft ausreichend Rechte hat.
Hierzu muss man unter "User -> Security -> What others do" die richtigen Werte setzen.
Gemacht habe ich das letztendlich so, weil es am wenigsten Arbeit war und es absolut ungefährlich ist, wenn der Agent auch auf Rechnern läuft, die z.B. nicht das Verzeichnis zum durchsuchen besitzen(Wie der Server). Sowas fängt man ja schon beim programmieren ab :D . Dann wird eben nichts gefunden und ergo auch keine Dokumente erzeugt.
Mfg
Jeremias
-
Wobei man wg. dem Zugriff auf das Dateisystem Sorge tragen muss, dass die ID, unter der der Agent läuft ausreichend Rechte hat.
Hierzu muss man unter "User -> Security -> What others do" die richtigen Werte setzen.
Das ist das, was Deine Rückantwort so wichtig macht. Daran habe ich nämlich nicht gedacht ...
Danke,
Bernhard