Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: dgerhardt am 23.02.06 - 11:51:45
Titel: Serveragenten vom Client aus Starten
Beitrag von: dgerhardt am 23.02.06 - 11:51:45
Hallo zusammen!
Ich habe einen sehr komplexen Agenten, der sowohl im Client als auch auf dem Server gestartet werden kann. Meine Tests haben gezeigt, das der Client etwa 20 Min. benötigt, während der Serveragent nur minimale 2 min. benötigt. Es läuft aber das gleiche Programm und zum Testen habe ich Server und Client auf der gleichen Maschine laufen lassen (sonst wäre der Server auf jeden Fall im Vorteil ;-) ).
Ein Serveragent startet erneut, wenn man diesen deaktiviert und wieder aktiviert. Kann man das auch via Lotus Script in einem Rutsch machen, ohne den Designer aufzurufen bzw. diesen überhaupt installiert zu haben? Natürlich ist an entsprechende Rechte zur Ausführung von Agenten gedacht.
Hat jemand eine Idee oder sogar schon ein fertiges Script dafür? Wäre klasse! 8)
Titel: Re: Serveragenten vom Client aus Starten
Beitrag von: umi am 23.02.06 - 11:58:36
schon mal die NotesAgent klasse angeschaut? NotesAgent.runOnServer()
Titel: Re: Serveragenten vom Client aus Starten
Beitrag von: dgerhardt am 23.02.06 - 12:47:15
Habe es gelöst...
Sub Click(Source As Button) Const agentName = "USERREGSERVER"
Dim session As New NotesSession Dim db As NotesDatabase Set db = session.CurrentDatabase
Forall agent In db.Agents
If Ucase(Trim(Strrightback(agent.Name,"|"))) = agentName Then Print agent.Name
Titel: Re: Serveragenten vom Client aus Starten
Beitrag von: ascabg am 23.02.06 - 12:50:17
Hi
Kleine Frage.
Du weist wie der Agent heisst aber durchlaeufts alle in der Datenbank befindlichen Agenten, um Deinen Agenten zu finden?? ???
Code
Set db = session.CurrentDatabase
Set agent = db.GetAgent("DeinAgent")
If Not agent Is Nothing Then
If agent.RunOnServer( ) = 0 Then print "ok" Else print "Fehler"
End If
Andreas
Titel: Re: Serveragenten vom Client aus Starten
Beitrag von: dgerhardt am 23.02.06 - 12:57:21
Ja, das ist natürlich nur ein kleiner Teil eines noch wachsenden Scriptes.
Mit GetAgent gehts schneller... :)
Titel: Re: Serveragenten vom Client aus Starten
Beitrag von: umi am 23.02.06 - 14:08:54
Wer soll den deinen Agent später mal ausführen dürfen ? Nur Designer? oder auch der Normale User ?
Titel: Re: Serveragenten vom Client aus Starten
Beitrag von: dgerhardt am 23.02.06 - 14:57:53
Personen mit - mind. Entwickler-Berechtigung - ACL Option "LS / Java Agenten erstellen"
und im ServerDokument - entsprechende Rechte zur Ausführung von beschränkten Serveragenten (weil die Signatur des Users in den Agenten eingetragen wird)
und im Agenten - "beschänkte Operationen mit vollst. Adminrechten zulassen"
So O.K. ???
Titel: Re: Serveragenten vom Client aus Starten
Beitrag von: Tode am 24.02.06 - 10:44:57
Wenn das nur sporadisch passieren soll, könntest Du Dir das Script auch sparen: Du lässt den Agenten deaktiviert und startest Ihn einfach aus dem Admin- Client (natürlich nur sofern vorhanden) über den Befehl:
te amgr run "DeineDB.nsf" 'DeinAgent'
Bitte beachte die Verwendung verschiedener Anführungszeichen: das doppelte für die DB, das einfache für den Agenten.