Running Houdiniservers in sequence

   2524   5   2
User Avatar
Member
15 posts
Joined: Sept. 2014
Offline
I have a few scenefiles and one work item for each. Now I want to open them after each other with the houdiniserver node and send a few commands. I have my scheduler already set to single. By default PDG starts the houdiniserver for each incoming scenefile, then it processes the first command_send node for all scenefiles then the second command_send node for all files and so on.
How can I tell PDG to wait for the first server to finish before starting the second one?
I tried to do it with priorities, but that doesn't seem to work. Any ideas what's the best way to do this?

Thanks
Richard Frangenberg
Founder and developer
https://prism-pipeline.com [prism-pipeline.com]
User Avatar
Member
12429 posts
Joined: July 2005
Offline
Sequential Blocks, maybe?
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
User Avatar
Member
15 posts
Joined: Sept. 2014
Offline
jason_iversen
Sequential Blocks, maybe?

Do you mean the “Block Begin Feedback”/Feedback loop nodes?
I tried that and the execution order looks correct when I enable “Iterations from Upstream Items”. But then all the data on the workitems seem to be lost inside the loop, which I added to the workitems before the loop.
Richard Frangenberg
Founder and developer
https://prism-pipeline.com [prism-pipeline.com]
User Avatar
Staff
585 posts
Joined: May 2014
Online
Can you attach a .hip file that demonstrates that issue? The Feedback Begin and various command chain begin nodes should be maintaining the attributes from input work items. I've attached an example file that cooks work items sequentially using both the feedback block and a Houdini command chain. Attributes from the input work items are preserved on the items in the loop block.
Edited by tpetrick - April 10, 2019 11:02:24

Attachments:
loops.hip (190.7 KB)

User Avatar
Member
15 posts
Joined: Sept. 2014
Offline
Thanks, I found the problem. I had a pythonscript node before the loop, which created dynamic workitems and then the attributes were not available inside the loop.
I also noticed that the execution order in the houdiniserver loop is how I want it when the “Session Count from Upstream Items” is enabled. But I prefer to have a new server for every scene to be sure that the ram is cleared and don't add up when processing a large amount of files. For that case I can use the houdiniserver in a for loop with static workitems as input. In a quick test that seems to work. I'll try it later with more scenes.

Here's a .hip to summarize it. I guess these behaviors are all intended and it was not exactly clear to me.

Attachments:
server_sequence.hip (247.9 KB)

Richard Frangenberg
Founder and developer
https://prism-pipeline.com [prism-pipeline.com]
User Avatar
Member
15 posts
Joined: Sept. 2014
Offline
I just tested it in my actual scene at home, but I had problems with the attributes again. After some more tests I noticed that the result changed even if I didn't change any settings. I made a quick screen recording from a test scene, where I cooked the TOPs in a random order. Sometimes the attribute exists in the loop but when cooking the graph from the top, the attribute doesn't exist in the loop.
https://www.dropbox.com/s/uxet4th5ti6rkfb/2019-04-10%2023-29-28.mp4?dl=0 [www.dropbox.com]

When I create the attribute with a wedge or an attribute create node, everything works fine. Looks like there is a problem when creating attributes in the pythonscript node.

Attachments:
shot_hou-001_anm_pdgTest_v0001_nocomment_rfr_.hipnc (111.6 KB)

Richard Frangenberg
Founder and developer
https://prism-pipeline.com [prism-pipeline.com]
  • Quick Links