Moin Moin!
Dringlichkeit: "Ist nur ein Test und nicht überlebenswichtig, sozusagen >Nice to know<"
Folgende Lage: "Ich versuche auf einem Domino 5 Server mehrere Script-Agenten durch einen anderen Script-Agenten zum laufen zu bringen."
Hintergrund:
1. "Es sollen nicht immer alle Agenten als "periodisch" laufen(unübersichtlich)"
2. Es sind nur bestimmte DB betroffen (hier im Ordner "Test" auf dem Test-Server)
3. Alle Agenten sollen hier "dynamisch" gestartet werden können (DB mit betroffenen Agent in den Ordner repilzieren, fertig"
Bisheriges Ergebnis:
1. Wenn ich den Agenten per Hand starte, funktioniert alles wunderbar.
2. Sobald der Agent "periodisch" läuft, werden die anderen Agenten, die er "anschubst" nicht ausgeführt.
3. Das Protokoll des "periodischen" Agenten sagt "Script ohne Fehler ausgeführt"
4. Die Protokolle der anderen Agenten sagen "Nüx gemacht"
5. Der Server hat auf alle DB "Manager"-Zugriff, um diesen Fehler schon mal auszuschliessen
Hier der Code (Scriptbibliothek)
Ich habe mir in der "catalog.nsf" eine Ansicht gebastelt, aus der ich die Namen der betroffenen Datenbänke auslese.
Function Agenten_starten
Dim se As New NotesSession
Dim db As NotesDatabase
Dim db2 As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
Dim agent As NotesAgent
Set db = se.GetDatabase("Test-Server", "catalog.nsf")
Set view = db.GetView("test")
Set doc = view.GetFirstDocument
While Not doc Is Nothing
Pfad = doc.GetItemValue("Pathname")
Titel = doc.GetItemValue("Title")
L1 = Len(Pfad(0))
L2 = L1 - 12
db_Name = Right(Pfad(0), L2)
Set db2 = se.GetDatabase("Test-Server", Cstr(db_Name))
Gosub agent
Set doc = view.GetNextDocument(doc)
Wend
Goto ende
agent:
Call db2.Open( "Test-Server", "Test\"+Cstr(db_Name) )
Set agent = db2.GetAgent("(Testagent2)")
If agent.Run = 0 Then
Print "Agent ohne Fehler ausgeführt!"
Else
Print "Agent wurde abgebrochen!"
End If
Call db2.close
Return
ende:
End Function