Search - User list
Full Version: Has anybody implemented the "Static Cook Hybrid Approach"?
Root » PDG/TOPs » Has anybody implemented the "Static Cook Hybrid Approach"?
TimurH
Hi, everyone!

Has anybody implemented the "Static Cook Hybrid Approach"?
https://www.sidefx.com/docs/houdini/tops/custom_scheduler.html#static-cook-hybrid-approach [www.sidefx.com]

Maybe there are already some examples in Houdini Python scripts?
Maybe some Tractor or Deadline can do this?

There is some example in documentation:
dependencies, dependents, ready = scheduler.dependencyGraph(True)
This way we get all work items.
But later on onSchedule(self, work_item) event, we can get batches.
So we can just construct all tasks in suspended state, then just trigger them to ready state on onSchedule event, like documentation says.

Is there a way to get the same tasks (work items), as they will be on an onSchedule event?
Ostap
Hi Timur,

Nice to see you here!

As I understand, with this hybrid approach you need to create a flat task map of workitems on the Afanasy side and then it already depends on the particular implementation how you want to activate/submit those tasks.

And when you are asking "a way to get the same tasks (work items)" - I'm assuming, there no magic method from PDG, just your own way to detect and send the Mantra workitem (for example) to the Mantra block in Afanasy.
TimurH
May some working method is to get all work items at first :

dependencies, dependents, ready = scheduler.dependencyGraph(True)

And later, we should "parse" tasks batches (if any) and replace tasks that are in the same batch by one batch task.

Or there is some "magic" method that I missed?
Ostap
At least I didn't find any "magic" method. You have to manage it by yourself.
Get all workitems in `onStartCook` method and then map it by name, id, command, or what is more suitable for you.

But there still a question for PDG "Batched" workitem. How do you want to mimic it in the render manager?
TimurH
May be can just skip work items that has a parent Batch work item.
And make a single task for each unique batch work item.
Ostap
Make sense but why do you need to skip workitems that have a parent Batch work item? As I understand render manager will not be responsible for dependencies - just releasing tasks by the trigger.
Also, probably need to skip all tasks without cmd.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.