Good news is that it's very easy to have one job depend (the "dependent" job) on another job (the "independent" job).
JobA is the independent job, and is submitted normally. Make a note of it's jobid.
JobB is the dependent job, and has its dependency value set so that it's defined as being dependent on jobA. When you set a job's dependency value, it's automatically submitted in a "blocked" state, and won't start until something triggers it. This is easiest done in the QubeGUI in the "Qube Advanced Job Control" section; you'll need to check the "Expert mode" box at the bottom to display this.
if you set jobB's dependency to "link-complete-job-<jobA's jobid>", jobB will not start until jobA is entirely complete. If you set the dependency to "link-complete-work-<jobA's jobid>", as each frame in jobA completes, the corresponding frame in jobB will unblock and become available to be dispatched to the farm.