I'm currently developing a custom scheduler for our pipeline, based on the prtractor.py example, but I'm integrating it with our in-house tractor wrapper. I've run into some issues that I'm hoping someone might have insight into or help me understand where my errors/logic come from.
Current Setup
- Custom scheduler based on prtractor.py
- Not using onTick() to poll task updates (IT doesn’t want us to use polling via Tractor Query API to limit server overload)
- Removed the MQ server task (no feedback to Houdini session unfortunately) due to farm firewall. So only implemented the submitAsJob()
- Standard XMLRPC scheduler callbacks for reporting back to the main scheduling task
The Problem
The scheduler is partially working - all tasks dispatch correctly to Tractor and execute as expected. The individual tasks are properly reporting their status back to the main task cooking the TOP network via the standard XMLRPC callbacks.
However, despite successful task completion, the main scheduling task never reaches the onStopCook() callback (I can’t see PDG: STATUS NODE COOKED nor PDG: SCHEDULER STOP COOK in the log). This means the scheduler appears to hang in a perpetual "cooking" state, even though all the actual work is complete.
Has anyone experienced a similar issue with custom schedulers not fully completing their lifecycle?
Can we rely exclusively on the callback mechanism to report back to the scheduling task and terminate the job?
Any insights, suggestions for debugging approaches, or references to similar issues would be greatly appreciated!
Thanks in advance
