I want to have it set up so that jobs can kick other jobs off machines.
Ideally it would work via the pools - but any mechanism can be worked with.
how I imagine it working - a machine will try to run a job from pool A, failing this it will pick up a job from pool B, but if a pool A job apears then it will abandon its current job and do this one.
makes sense? is this possible?
R
There isn’t a concept of an interruptible pool in Deadline, but you can make specific jobs interruptible by setting “Interruptible=True” in the job info file on submission:
docs.thinkboxsoftware.com/produc … -info-file
To get the behaviour you’re looking for, you could write an event plugin that handles the OnJobSubmitted event:
docs.thinkboxsoftware.com/produc … ugins.html
The script would check the pool the job was submitted to, and then set the job’s Interruptible flag and save the job. The example below assumes you have a pool called “InterruptiblePool”, and any job submitted to that pool will automatically be set up to be interruptible.
def OnJobSubmitted( self, job ):
if job.JobPool == "InterruptiblePool":
job.JobInterruptible = True
RepositoryUtils.SaveJob( job )
Cheers,
Ryan