Post script waiting for other jobs

58 views
Skip to first unread message

Francois Kruger

unread,
Sep 17, 2021, 9:22:53 AM9/17/21
to Royal Render Knights Tavern
Hi and thanks for any help in advance! I would just like to know if there is any type of "wait for another job" flag or something that I can use. I am submitting a sequence of shots, which is like 5 separate jobs. But I want to run a script when ALL of them have finished.

We submit the jobs through the .xml file approach like this:
<rrJob_submitFile>
<Job><SubmitterParameter>PPMyScript=1~1</SubmitterParameter></Job>
<Job><SubmitterParameter>PPMyScript=1~1</SubmitterParameter></Job>
<Job><SubmitterParameter>PPMyScript=1~1</SubmitterParameter></Job>
</rrJob_submitFile>

Is there no way to do something like this? In other words, moving the script flag outside the separate jobs:
<rrJob_submitFile>
<SubmitterParameter>PPMyScript=1~1</SubmitterParameter>
<Job></Job>
<Job></Job>
<Job></Job>
</rrJob_submitFile>

Any other ideas to solve my problem is also welcome. At the moment my best solution is to write something in the script that "checks if the other images have been rendered" or something like that.

RR support, Acampora

unread,
Sep 17, 2021, 10:25:18 AM9/17/21
to Royal Render Knights Tavern
Hi, if the script can be run as a separate job, you can assign a preID to each job, then use them in the waitForPreID of the last job, which would be an execute or script job.

That would be something like

<rrJob_submitFile>
<Job> <PreID>     1     </PreID> </Job>
<Job> <PreID>     2   </PreID> </Job>
<Job> <PreID>     3   </PreID> </Job>
<Job>
    <WaitForPreID>     1    </WaitForPreID>
    <WaitForPreID>     2    </WaitForPreID>
    <WaitForPreID>     3    </WaitForPreID>
</Job>
</rrJob_submitFile>

Would that work for you?

Kind regards,
Paolo
Royal Render Team

Francois Kruger

unread,
Sep 17, 2021, 12:06:00 PM9/17/21
to Royal Render Knights Tavern
Hi Paolo,

That might be it hey! I'll give it a shot thank you. If you don't hear from me again, it means it worked!!! :)

Have a good weekend!

Francois Kruger

unread,
Sep 20, 2021, 4:20:52 AM9/20/21
to Royal Render Knights Tavern
Hi Paolo,

You mentioned "which would be an execute or script job" for the last job. Which is exactly what I need, I'd like the last job to only do the post-script part, but not the rendering side of things. How would I do this? I tried removing all other info from that job (software, version, renderer, start and end frames etc) but the job submission doesn't work like this. How would I specify to the last job that "you only need to run this script" essentially?

Thanks for your time in advance! :)
Francois Kruger

RR, Schoenberger

unread,
Sep 20, 2021, 6:14:53 AM9/20/21
to rrKn...@googlegroups.com

Hi

 

There are two options to create an execute job:

  1. You either create a new render config file with your commandline.
    You can dublicate the render config file RR\render_apps\_config\E01__ExecuteOnce.cfg
    Change the renderer Name=
    and change the commandline accordingly.
  2. Or you create a batch/shell script and submit that as a job (open the rrSubmitter and load the script)
    It will then use the E01__ExecuteOnce.cfg config file.

 

About 2:
Of course you could create a dummy shell script with just the commandline „echo Job Done“ and check your post-script only.

But it is better not to use a post-script as it is faster and you have a better overview.

 

 

regards,
Holger Schönberger

Please use the rrKnights Tavern
or our support system for new questions.

Francois Kruger

unread,
Sep 20, 2021, 7:30:39 AM9/20/21
to Royal Render Knights Tavern
Hi Holger,

Awesome that worked thanks. I followed your "step 1." although I had to change the "Software" to something else and rendering like that. For some reason changing the renderName was not enough to make it work for me. Maybe I was doing something wrong though. But just a note in case anyone else battles with it.

Thanks for your help though!

Francois Kruger

unread,
Sep 21, 2021, 6:44:31 AM9/21/21
to Royal Render Knights Tavern
Hi again,

So this did work for any python "execute scripts" that I had to make. But I am running into a problem with my "hython" execute scripts now. The problem is that my "hython" is not calling all the normal scripts that 3D06__Houdini_Arnold.cfg renders seems to be calling. One of which is "houdini__inhouse.rrEnv". So my question is, how do I make my own "hython execute script" but still add the scripts that the 3D06__Houdini_Arnold.cfg would usually call? I tried copying the 3D06__Houdini_Arnold.cfg settings to my own cfg file, but that doesn't seem to do it. Here is my cfg file:

################################## Identify Render Application ################################## 
Name= Triggerfish
rendererName= Hython
Version=1
Version_Minor=0
Type=Execute
ExecuteJobType=Once
################################## [Windows] [Linux] [Osx] ##################################
CommandLine=<rrEnvLine>  
CommandLine=
<ResetExitCode> 
CommandLine= 
"C:/Program Files/Side Effects Software/Houdini 18.5.596/bin/hython.exe"
"<CustomTFGlobalRoot>/dev/royal_render/royal_render_scripts/<CustomExecutionScript>"
<CustomArgs>
CommandLine=
<CheckExitCode> <FN>

For some more details, I am getting a: "StdErr: Can't open dophints.cmd" error. And the command that eventually gets executed is:

"C:/Program Files/Side Effects Software/Houdini 18.5.596/bin/hython.exe" "\\reef\Pipeline\tf_global_staging/dev/royal_render/royal_render_scripts/houdini_pre_script.py" --width 1920 --height 1080 --project TF Universal --reviewables_folder "\\reef\Films\tf_universal\shot_publish\0070\000\reviewable\v028" --publish_task model --houdini_scene \\reef\Films\tf_universal\shot_publish\0070\000\reviewable\v028\render_scene.hip 

In which case I get the error right after this command line:
Screenshot 2021-09-21 at 12.43.12.png

 I'm guessing my cfg file is missing something? Is the "Name=Triggerfish" to blame?

RR, Schoenberger

unread,
Sep 21, 2021, 7:04:46 AM9/21/21
to rrKn...@googlegroups.com

Hi

 

We have a render config file to execute python scripts with Houdini.

Please see „Python Script Execution“ on this help page:

http://www.royalrender.de/help/Houdini.html

 

The configs file name is 3D06__Houdini_Python.cfg.

 

 

PS:
The rrEnv files that RR takes for the commandline <SetEnvSoft> in your render config are choosen by the SoftwareName set in your render config.

http://www.royalrender.de/help/SetenvFiles.html

Francois Kruger

unread,
Sep 21, 2021, 8:46:56 AM9/21/21
to Royal Render Knights Tavern
I see okay thanks. I am using your 3D06__Houdini_Python.cfg now. Just a note though, using my script above, where I specify the exe version. When doing so, in one of the previous SetEnvSoft steps or something, it seems to pick up hython 17.5 and tries to run the HTOA stuff in there. And if I supply <Version>18.5</Version> then it tells me "No right version of render application found.".

Why would it be using 17.5 as the default for one of the SetEnvSoft steps? And why can't specify a version any more? The script I made above doesn't look that "broken" to not allow a version?

RR, Schoenberger

unread,
Sep 21, 2021, 10:28:33 AM9/21/21
to rrKn...@googlegroups.com

Hi

 

>Why would it be using 17.5 as the default for one of the SetEnvSoft steps

 

The setenv files use the exe version that is actually used.

And the exe started by the client should match the job setting.

 

 

> And why can't specify a version any more?

 

<Version>18.5</Version> should work fine.

It executed the same functions as every Houdini ROP job that you submit.

Does the rrClient use the right Houdini version of you submit a ROP?

 

 

If do not know which RR version you use, but the top oft he render log file states the client search path for the right app version:

Sep 21. 01:16.48| Auto-version change. Job: 17.54600 client exe: 17.52580 (C:\Program Files\Side Effects Software\Houdini 17.5.258\bin\hython.exe || C:\Program Files\Side Effects Software\Houdini *\bin\hython.exe)

 

So get more information about which Houdini version was found and which was choosen, please enable Debug Job Log messages at the client.

Either via the rrClientWatch menu or rrControl right-click/client (app)/..

 

If you have the new render log information, then it is extended with the new information.

No matter your RR version, it should always be stated in your clients app log file RR/sub/log.

 

 

Note: You can specify the .release version as well:

<Version>18.5.460</Version>

 

 

regards,
Holger Schönberger

 

Francois Kruger

unread,
Sep 27, 2021, 10:13:19 AM9/27/21
to Royal Render Knights Tavern
Hi Holger,

Thanks for all the information! Always helps understanding it a bit more :)

Regards

Reply all
Reply to author
Forward
0 new messages