Has anybody implemented the "Static Cook Hybrid Approach"?

   1805   5   2
User Avatar
Member
17 posts
Joined: Jan. 2006
Offline
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?
User Avatar
Member
209 posts
Joined: Nov. 2010
Offline
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.
User Avatar
Member
17 posts
Joined: Jan. 2006
Offline
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?
User Avatar
Member
209 posts
Joined: Nov. 2010
Offline
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?
User Avatar
Member
17 posts
Joined: Jan. 2006
Offline
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.
User Avatar
Member
209 posts
Joined: Nov. 2010
Offline
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.
  • Quick Links