The RepositoryUtils.GetSlaveInfo()
function returns a SlaveInfo
object which has an undocumented .Version
property that represents what you see in the Version column in the Workers panel. So if you will be running your script within the Monitor (as opposed to using the stand-alone Python scripting API outside of Deadline), then you could say
allSettings = RepositoryUtils.GetSlaveSettingsList(False)
for aSlave in allSettings:
aSlaveInfo = RepositoryUtils.GetSlaveInfo(aSlave.SlaveName, False)
print "============================================================"
print (aSlave.SlaveName)
print (aSlaveInfo.SlaveState)
print ("Version: %s \n" % (aSlaveInfo.Version))
print "============================================================"
On an ancient installation of Deadline on one of my machines where two workers were Offline and the local one was still active, it printed to the Monitor’s Console window:
2021-02-09 15:15:34: PYTHON: ============================================================
2021-02-09 15:15:34: PYTHON: DESKTOP-4E76V9C
2021-02-09 15:15:34: PYTHON: Idle
2021-02-09 15:15:34: PYTHON: Version: v10.1.9.2 Release (3d6a64d94)
2021-02-09 15:15:34: PYTHON: ============================================================
2021-02-09 15:15:34: PYTHON: DESKTOP-4E76V9C-DBR
2021-02-09 15:15:34: PYTHON: Offline
2021-02-09 15:15:34: PYTHON: Version: v10.1.9.2 Release (3d6a64d94)
2021-02-09 15:15:34: PYTHON: ============================================================
2021-02-09 15:15:34: PYTHON: EC2AMAZ-7A66SVB
2021-02-09 15:15:34: PYTHON: Offline
2021-02-09 15:15:34: PYTHON: Version: v10.1.9.2 Release (3d6a64d94)
2021-02-09 15:15:34: PYTHON: ============================================================
Since Slaves.GetSlaveInfos()
is also available in the external scripting API, it would be possible to write the same outside of the Monitor scripts.
I hope this helps.