Identifying the name of the slave running a .BAT script

Hey,

I have three slaves instances on a machine:

GPUA
GPUB
GPUC

Each slave instance uses a separate graphics card.

When I run a softimage job, it runs a file with this in it:

@echo off call "C:\Program Files\Autodesk\Softimage 2015 SP2\Application\bin\setenv.bat" start "" "C:\Program Files\Autodesk\Softimage 2015 SP2\Application\bin\XSI.exe" %*

My question is, can I add a line in the file that checks which slave is executing the script?

The reason I ask, is because I want to use a separate “setenv.bat” file for each slave instance. e.g if GPUA, call “setenv_a.bat”, if GPUB, call “setenv_b.bat” etc…

Is this possible?

Thank you,
Shaun.

No worries if not. I have an idea for another solution.

I would accomplish this with a Slave centric event plugin, which executes when a Slave starts the job via the callback: “OnSlaveStartingJobCallback”:
docs.thinkboxsoftware.com/produc … ing-events

The event would fire and it also returns the “job” object & “slaveName” in the callback, so you could query it for anything you like in the job and you also get the slaveName which you are after here. Some quick snippet code:

[code]self.OnSlaveStartingJobCallback += self.SlaveStartedJob

def SlaveStartedJob(self, slaveName, job):
print “slaveName is: %s” % slaveName[/code]

Check out the shipping event plugin: “FontSync.py” which is a perfect example of this. Bear in mind, within the event plugin, you could question the Slave via it’s slaveName for any of it’s properties as well, such as is a “GPU affinity override” set for this particular Slave.

Thanks Mike. I found that FontSync.py event. Cool.