Hello, I’m not sure if this is by design, but I’m pretty sure this didn’t happen in Deadline 5…
I have a job that is complete, that I want to requeue a single task from (in my case a post-script task). On requeing this task, an event script that I have written OnJobRequeue is also fired. Is this by design? Is there any way for me not to fire the OnJobRequeue event in this case?
This is by design. We fire the requeue event because despite only one task being requeued, the job still moved from Completed state to the Queued state.
There isn’t a way to prevent it from firing in this case, but perhaps your OnJobRequeue could perform a check to see if it should do anything or not. It could load the job’s tasks and count how many are queued or something. Out of curiosity, what does your OnJobRequeue do, and why don’t you want it firing in this case?
Hi Ryan, Thanks for the reply. I figured as much, I just don’t recall it happening in the previous version of deadline.
Our OnJobRequeue event recopies the source nuke script from the server to the repository. We do this so that our queue doesn’t get full of duplicate render jobs and enables anyone with monitor to requeue a job quickly. I know we could simply not submit the nuke script to the repository and render directly off the server, but by doing it this way, we can continue to work on the nuke file while also rendering it. The post script takes the rendered dpx’s and creates pro-res files among other things.
The event being refired means that if I requeue a single task, it will grab latest nuke script to do it… Say I get a render error on one frame, but I’ve continued to work on the file and make changes, If I requeue that one frame, I will not see what I wanted. Is there an ‘OnTaskRequeue’ event I could tap into to see if it is triggered to ascertain whether to run my OnJobRequeue script? Or perhaps when you requeue a job, all tasks are requeued as well. It’s a small issue, but I’m sure it will come back to bite us here one day.
Unfortunately, we currently don’t have any task-level events in our Event Plugin system. It is currently on the wish list, though, and it’s currently pegged as something that might make it into 6.1.
In the meantime, one thing you could do instead of using an Event Plugin, is to have a right-click Job script that updates the Nuke script in the repo as you described, and then requeues the Job. It’d take some getting used to, but that way you’d get around this issue.