From: Greg Ercolano <erco@(email surpressed)>
Subject: Re: Nuke Submit...
   Date: Tue, 18 Jan 2011 11:50:03 -0800
Msg# 1993
View Complete Thread (7 articles) | All Threads
Last Next
Oh, and regarding this:

Urs Franzen wrote:
> def ufrSendToRush():
>     nuke.scriptSave()
>     n=nuke.thisNode()
>     vshot = n.knob('seq').value()+'_'+n.knob('subseq').value()+ \
>                                   '_'+n.knob('numb').value()
>     vartist=n.knob('artist').value()
>     vversion='v'+n.knob('version').value().zfill(3)
>     title=vshot+'_'+vartist+'_'+vversion
>    
>     frames=str(nuke.toNode('Read1').knob('first').value())+'-'+\
>            str(nuke.toNode('Read1').knob('last').value())
>     logdir=('/Boutique/Jobs/.rushlogs')
>     command='perl /Boutique/common/rushscripts/submit-nuke.pl -render  ' + \
>              nuke.root().knob('name').value() + ' 5 0 3 Fail Licpause+Retry 0 off -V'
>     cpus='+farm=12'
>     # COMBINE VARIABLES
>     render='title '+title+'\n'+\
>            'frames '+frames+'\n'+\
>            'logdir '+logdir+'\n'+\
>            'command '+command+'\n'+\
>            'cpus '+cpus+'\n'
>     # SUBMIT THE JOB
>     submit = os.popen("rush -submit", 'w')
>     submit.write(render)
>     err = submit.close()
>     if err:
> 	nuke.message('submit failed, error code: '+str(err))
>     else:
>         nuke.message('sent to farm, be happy!')
> 
> what was my mistake?

	Hmm, in this type of usage, you're firing up 'rush -submit'
	directly, and hoping you get the command line arguments in
	the right order.

	I'm guessing if you had any trouble with this technique, I'd
	look to that 'command=' line to make sure everything after -render
	is really the flags that your submit-nuke.pl script expects, eg:
	/Boutique/common/rushscripts/submit-nuke.pl

	You can determine these values empirically by just submitting
	the job normally through the submit interface, then using
	'Job Edit' to inspect the command.

	Or, you can look at the submit-nuke.pl script to see what arguments
	it expects when the -render flag is passed in.

	Based on the above, it appears to be passing the script:

nuke.root().knob('name').value() + ' 5 0 3 Fail Licpause+Retry 0 off -V'
|_________________________________|  | | | |      |            | |    |
      Nuke Script                    | | | |      |            | |    Nuke Flags
                                     | | | |      |            | Print Environment
                                     | | | |      |            Max Log Size
                                     | | | |      License Behavior
                                     | | | Retry behavior
                                     | | Retries
                                     | Batch end (depends on your frame range!)
                                     Batch Frames

	(The above 'ascii art' assumes you're reading this in a fixed width font!)

	Most of that looks OK, though I don't think Batch End should be zero.
	If your frame range is 1-112 and batching is set to 5, the Batch End should be 112,
	the last frame in the frame range.

	Also, make sure 'Nuke Script' is an /absolute pathname/ to the
	Nuke script, and not just the filename without the leading path.

	If you still want to use this technique and are having trouble
	even with the above advice, email me directly: a) your submit-nuke.pl
	script, b) the complete frame log from the failed render, and I can
	probably tell you what's wrong.

Last Next