Thanks again for your help. For now I'm rendering from the GUI.
I did try NOT escaping the frame ranges, resulting in the same error.
You are correct that BB is not properly slotting the ranges. I got
the '%tp2' syntax from the Maya BB command. It is telling BB to get
the param from the tasklist file (I think the 2 refers to the second
column).
The problem is how to format the python 'os' command so BB sees it as
a var. Currently it's being treated like a string.
Here's and example of the BB command that Maya generates:
system ("\"\"C:/Program Files (x86)/Autodesk/Backburner/cmdjob.exe\" -
jobName \"RenderLayerTest01_Lites142245-111030\" -description \"\" -
manager 192.168.2.222 -logPath \"//Pixelmuncher/3d/renderLogs\" -
priority 50 -taskList \"C:/Users/Me/AppData/Local/Temp/
RenderLayerTest01_Lites142245-111030.txt\" -taskName 1 \"C:/Program
Files/Autodesk/Maya2012/bin/Render\" -r mr -s %tp2 -e %tp3 -proj \"Y:/
MayaPractice\" -rd \"Y:/MayaPractice/Renders\" \"Y:/MayaPractice/
Scenes/RenderLayerTest01_Lites.mb\"");
On Nov 22, 12:45 pm, Justin Israel <[email protected]> wrote:
> Unfortunately I dont have any experience with Backburner submissions, since I
> have never used it in a pipeline other than submitting to it from a gui.
>
> Here is an example of a preRender script:
>
> In file /network/path/to/myPreRender.mel:
>
> global proc doStuff()
> {
> // all your preRender Stuff here
>
> }
>
> Then in your render command:
> cmdjob -preRender "source /network/path/to/myPreRender.mel; doStuff();"
>
> But from your latest information, it seems you have other problems as well,
> such as defining your frame ranges.
> Since I again don't know much about backburner I will take a blind stab...
>
> > Calling '"C:/Program Files/Autodesk/Maya2012/bin/Render" -s
> > \Undefined -e \Undefined -of png -fnc name.#.ext -pad 3 -im ATR24 -r
> > mr -cam audienceCam -alpha 0 -log z:/renderLogs/ATR24_log.txt -rd Z:
>
> It seems like maybe your string formatting is not correct so it cant slot in
> your frame ranges. I assume %tp2 and %tp3
> are to be replaced from within backburner, correct? Have you tried NOT
> escaping those parts in the string?
>
> ' cmdjob -jobName ' + jobName + params + taskListFile + ' -taskName 1 ' \
> + mayaPath + ' -s %tp2 -e %tp3 ' + ' -of png -fnc name.#.ext -pad 3 -im ' \
> + imageName + ' -r mr -cam ' + renderCam + ' -alpha 0 ' + ' -log
> z:/renderLogs/ATR24_log.txt -rd ' \
> + destPath + scene2Render
>
> From the looks of the error output, its retaining those backslashes. And I
> guess if you are seeing Undefined, that is
> backburner not properly slotting in your ranges from whatever problem you are
> having with your tasklist definition.
> That part I unfortunately cant offer any insight.
>
> On Nov 22, 2011, at 10:22 AM, PixelMuncher wrote:
>
>
>
>
>
>
>
> > Thanks for the reply. I'm not a hardcore coder, could you give me an
> > example of calling the proc from the prerender flag?
> > Also, it was my assumption that 'numTasks' would tell Backburner to
> > divide the whole job into X tasks, but that does not appear to be the
> > case - it appears that my 'os' command is causing BB to send the
> > entire frame range with each task.
> > Do you know the correct way to call it?
> > I think I'm close, but I don't know how to pass the start/end frames
> > from the BB tasklist to the render job command.
> > This is what I have:
>
> > 1) I created a tasklist in table form:
> > ATRTaskList.tsk:
> > frames1051-1070 1051 1070
> > frames1071-1091 1071 1091
> > frames1092-1112 1092 1112
>
> > 2) Create vars for render params
> > jobName = 'ATR24'
> > # params = r' -manager 192.168.2.222 -logPath "z:/renderLogs" -
> > priority 50 -tp_start 1 -tp_jump 3 -numTasks '
> > params = r' -manager 192.168.2.222 -logPath "z:/renderLogs" -priority
> > 50 -taskList '
> > taskListFile = '"D:/PFarm/_Software_stuff/Maya/Batch/
> > ATR24BBTasklist.tsk"'
> > mayaPath = '"C:/Program Files/Autodesk/Maya2012/bin/Render"
> > imageName = 'ATR24'
> > renderCam = 'audienceCam'
>
> > destPath = r' Z:\Compositing\Sequences\ATR\ATR24_2'
> > scene2Render = r' Z:\3D\scenes\is50anim24.mb'
>
> > 3) Render command:
> > os.system (' cmdjob -jobName ' + jobName + params + taskListFile + ' -
> > taskName 1 ' + mayaPath + ' -s \%tp2 -e \%tp3 ' + ' -of png -fnc
> > name.#.ext -pad 3 -im ' + imageName + ' -r mr -cam ' + renderCam + ' -
> > alpha 0 ' + ' -log z:/renderLogs/ATR24_log.txt -rd ' + destPath +
> > scene2Render )
>
> > The 3 tasks show up in the BB Monitor, and I don't get any errors, but
> > I don't get any frames either. Here's what the job log shows:
> > Calling '"C:/Program Files/Autodesk/Maya2012/bin/Render" -s
> > \Undefined -e \Undefined -of png -fnc name.#.ext -pad 3 -im ATR24 -r
> > mr -cam audienceCam -alpha 0 -log z:/renderLogs/ATR24_log.txt -rd Z:
> > \Compositing\Sequences\ATR\ATR24_2 Z:\3D\scenes\is50anim24.mb' from 'C:
> > \Users\Me\AppData\Local\backburner\ServerJob'Job exit successful
>
> > I'm in a crunch, working by myself, so any help will be deeply
> > appreciated.
> > Thanks.
>
> > On Nov 22, 10:19 am, Justin Israel <[email protected]> wrote:
> >> I havent had a chance to test anything yet but have you tried moving your
> >> preRender commands into a script and just calling the proc from the
> >> preRender flag? That way you can have any length prerender and it will get
> >> called from the script. If the prerender code is not in a shared
> >> maya_script_path location then u can just source the full path from the
> >> preRender flag
> >> Unless your preRender is over 8k characters long then you wouldn't be
> >> hitting an arg limit for the windows command line. And you are using a
> >> string arg (though using inefficient string concatenation) for your
> >> os.system() call so thats probably not an issue.
> >> If putting the preRender commands into a script fixes it then you know its
> >> backburner/maya. We do the same thing at my studio for queue submissions
> >> using preRender scripts in network locations and sourcing them.
>
> >> On Nov 21, 2011, at 10:36 PM, PixelMuncher <[email protected]> wrote:
>
> >>> After hours of research, I have backburner being called from a python
> >>> script and rendering a test scene on 2 networked computers.
>
> >>> However, when I try to run a production file that has a long prerender
> >>> command, backburner errors and exits. After some experimentation, it
> >>> appears that there is a character limit to the command! When it
> >>> reaches the limit, it generates an error like this and exits :
> >>> ...setAttr ao_lyr.renderable 1; setAttr defaultRenderLayer.render[/4|
> >>> ðâC'
> >>> from 'C:\Users\Me\AppData\Local\backburner\ServerJob'Job exit
> >>> successful
> >>> The command should be ...setAttr defaultRenderLayer.renderable, 1; and
> >>> then continue with more setAttrs
>
> >>> I don't know if the limit is imposed by maya, the command prompt, or
> >>> Python. The python command (items not in quotes are vars that have
> >>> been set in the script) is:
>
> >>> os.system (' cmdjob -jobName ' + jobName + params1 + numTasks + ' ' +
> >>> mayaPath + ' -s ' + startF + ' -e ' + endF + ' -of png -fnc name.#.ext
> >>> -pad 3 -im ' + imageName + ' -r mr -cam ' + renderCam + ' -alpha 0 -
> >>> preRender ' + preRndrCmd + ' -log y:/renderLogs/ATR23_log.txt -rd ' +
> >>> destPath + scene2Render )
> >>> To check if it might be some weird escape sequence being derived from
> >>> a layer name, I have shortened the lists of layers that I am feeding
> >>> to the prerender command, and that is not the problem. It seems to
> >>> choke when it reaches a given number of characters.
> >>> Any ideas?
> >>> Thanks.
>
> >>> --
> >>> view archives:http://groups.google.com/group/python_inside_maya
> >>> change your subscription
> >>> settings:http://groups.google.com/group/python_inside_maya/subscribe
>
> > --
> > view archives:http://groups.google.com/group/python_inside_maya
> > change your subscription
> > settings:http://groups.google.com/group/python_inside_maya/subscribe
--
view archives: http://groups.google.com/group/python_inside_maya
change your subscription settings:
http://groups.google.com/group/python_inside_maya/subscribe