Author Topic: How to create job dependencies at the frame level on qube 6  (Read 3481 times)

freedomfries

  • Jr. Member
  • **
  • Posts: 4
How to create job dependencies at the frame level on qube 6
« on: February 08, 2012, 12:58:40 AM »
Hi all,

I'm trying to figure out how to create a job dependency on our Qube 6 farm. It's brand new and we don't really know how to use it, and have been struggling a bit.

We submit maya scenes rendered with Vray... The first job would be the job that has the light cache prerender, and the second job is a scene that reads in this light cache, so a frame on the second job would need its light cache properly rendered from the first job in order to kick off. Is there a way to setup such a dependency, so that both jobs can be submitted at the same time, rather than wait for the light cache prepass to finish so we can submit the main render?

Thanks!

jburk

  • Administrator
  • *****
  • Posts: 493
Re: How to create job dependencies at the frame level on qube 6
« Reply #1 on: February 08, 2012, 05:52:00 PM »
This is simple to do in the QubeGUI.  Submit the first cache pre-render job and make a note of its jobid.  

This will work best if you submit the cache job in a "blocked" state, so that it doesn't start before the render job is submitted (how-to in a moment).  This is because Qube's dependencies are event-based; a frame's render will be unblocked and ready to render when the corresponding's frames cache solve finishes, not is finished; the trigger is the transition from not-done->complete.  If the first frame's cache solve has already finished by the time the render job is submitted, the first render frame's trigger condition will never be true (the event has been missed), and it will stay blocked forever.

To submit any job in a blocked state, check the "Blocked" checkbox in the Qube Advanced Job Control section of the submission UI.

When you submit the render job, go down to the Dependency field in the Qube Advanced Job Control section, click 'Add', and set the value to "link-complete-work-n", where n is the jobid from the cache job.  When you select "-work-", it defines a frame->frame dependency between two jobs.  Select "-job-", and you get a job->job dependency.

Once the render job has been submitted, you can then unblock the cache job by selecting it in the QubeGUI job list, right-mouse->Unblock.

The render job will automatically be submitted in a blocked state, but you should not unblock this yourself.  Qube will unblock each frame in the render job as the corresponding frame in the cache job finishes.
« Last Edit: February 08, 2012, 05:54:12 PM by jburk »