Ich denke, ich bin einen Schritt weiter. (Die Problematik mit dem Cluster stellt sich erst mal nicht, weil es nur darum geht, den selben Agenten nicht auf ein und demselben Server mehrfach laufen zu lassen).
Dim intStatus As Integer
Dim intLockID As Integer
intLockID = Createlock("Lockerei")
If Codelockcheck(intLockID) = 0 Then
intStatus = Codelock(intLockID)
Else
Print "!!!!!!!!!!!!!!!!!!!!!!!!!!! Agent läuft bereits!!!!!!!!!!!!!!!!!!!!!!!!!!!"
Exit Sub
End If
Print "AGENT Gestartet!"
Sleep(3600)
Print ">>>>>>>>>>>>>>>> AGENT Exit <<<<<<<<<<<<<<<<<<<"
intStatus = Codeunlock(intLockID)
intStatus = Destroylock(intLockID)
Die einzige Sache die mir hierbei soweit aufgefallen ist, ist dass dieses Verfahren nicht funktioniert wenn der Agent bereits regulär durch den Agent Manager gestartet ist und man den Agenten nun noch mal per tell amgr run anwirft. Das eigentlich bereits gelockte lock (Aus dem regulären Start) wird nicht erkannt wenn der Agent per run ein weiteres Mal gestartet wurde. Führt man tell amgr run aber wiederum mehrfach aus, wird wenigstens sichergestellt das bei dieser Startart der Agent nicht mehrfach gestartet werden kann.
Ich werde noch etwas weiter forschen.