On 10/28/2011 11:09 AM, Greg Ercolano wrote:
On 10/27/11 14:59, Kevin Sallee wrote:
Hello: i have some jobs that are executed on my farm, and i would like
another job i'm sending to be executed only when all the other jobs i
sent are finished. how do i do that without specifying a dependency?
Hi Kevin,
Set the job to a lower priority than the others, and it shouldn't
pick up unless the other jobs can't use any more cpus. (eg. if
your job is @1 and the others are @2 or higher, those other jobs
will always win cpus if they aren't constrained by some limit)
This does mean, however, it may start rendering while the
other jobs are still finishing their renders.
If you really want that last job to start /only/ when the
other jobs have /completely/ finished (and /not/ start even if
there are cpus available but the other jobs are still
working on rendering their last few frames), then 'waitfor<jobid> <jobid..>'
would be the way to go, as that really is a dependency type
of behavior.
To get what you want without a dependency, I think you'd have
to write a custom submit script that submits your job in the
Pause state, and polls the network with 'rush -laj' until
there are no Run jobs, then it would unpause the job to start it.
I can suggest code that would do this, but it's an odd case.
If you think that would be a handy feature, I could investigate
adding such a thing.
Hi greg,
sorry i didn't see your answer before... I already found a workaround as
you said, a little script that uses rush -lj. It's just i'm not sending
rendering jobs but animation baking jobs. So i have this scene where you
can bake animation for all assets, and then build a custom scene with
all the rigged assets references switched to cached references. For the
scene building, i want to wait for all the baking jobs to be finished.
Since it's user-based, i used rush -lj instead of rush -laj. It's just
using time.sleep if baking jobs (identified by their titles) sent by the
user are not finished. It's really an odd case so no need to dig it much
more. Thank you for your answer though
Kevin
|