Shotgrid nodes in Deadline

Hi guys;

I am a newbie trying to understand how to render Shotgrid nodes with Deadline.
Can you give me any advice or point me to the right documentation?

Thanks in advance.

1 Like

Hi Asch75,

welcome to the community.

There are 2 ways to go about this:


1) Convert the ShotGrid Writenodes to normal Nuke Rendernodes before you send the render job. The writenode app comes with a function to do this.

For example, if you run Deadline as your render management software you would use the customSanityChecks.py script for the Nuke Render Plugin to run this bit of code (and also make sure to set Submit Nuke Script with Job so the current script is saved on the renderjob).

import nuke
import sgtk

# save current selected node names
# (because the conversion will not keep the current selection active)
selected_node_names = []
for node in nuke.selectedNodes():
    selected_node_names.append(node.name())
    
# get the sg writenode app and use the conversion function to convert writenodes to normal nuke nodes
writenode_app = sgtk.platform.current_engine().apps()["tk-nuke-writenode"]
writenode_app.convert_to_write_nodes(show_warning=False)

# restore nuke node selection based on saved name list
for name in selected_node_names:
    # get the nuke node with the same name (name should be the same but class has changed)
    node = nuke.toNode(name)
    # select the node
    node["selected"].setValue(True)

When you open the Deadline Nuke Submitter it will run this sanity check script before showing the dialog interface.

The above script ensures all ShotGrid Writenodes in the script are converted to standard nuke Write nodes. It will also restore the selected nodes as the conversion will deselct them.

Submit your job…

The only thing to figure out now is to convert the nodes back to SG nodes after the job was submitted.

code for that would be:

import sgtk
writenode_app = sgtk.platform.current_engine().apps()["tk-nuke-writenode"]
writenode_app.convert_from_write_nodes(show_warning=False)


2) Bootstrap into SGTK from within the Deadline Job before Nuke is run. This is fun but likely not the way for you to go right now...!
3 Likes

Hi everyone,

@Ricardo_Musch your answer is very helpful, thank you very much!

But I’m wondering if there’s an automatic way to convert the nodes back to SG nodes. I mean, run:

import sgtk
writenode_app = sgtk.platform.current_engine().apps()["tk-nuke-writenode"]
writenode_app.convert_from_write_nodes(show_warning=False)

without a manual intervention to run the script.

Thank you very much in advance!

Dani

That depends on when you want that automation to run.

You can fork the Deadline Submission script (if you use deadline) and add the function right after the succesfull submission of your jobs.

1 Like

Hi Ricardo, this is an epic post. thank you for all the info.

I’m trying to do this now with my studio. Any tips? things to watch out for as I dive in?

Was curious about the bootstrapping method - is that just a lot for someone more inexperienced?

Bootstrapping toolkit is a bit much for a render and you will get all kinds of extra complications and dependencies.

I.e.

  • your rendernodes will each bootstrap toolkit adding additional time per frame/task.
  • The api and shotgrid site may get overloaded if multiple machines do it at the same time.

Thinsg to watch out for:
It seems that the SG writenode is currently broken or at least it does not always retain the settings on the farm or when you convert it back.

For starting out its fine but I would consider building your own writenodes for your own needs.

Thanks Ricardo. When you say make your own write nodes, that makes sense, but I was wondering what the best way to tell the publisher/ reviewsubmission app to find the render is?

A simple write node could be an example. Once rendered, when I go to publish on the SG Write Node it’s there to publish and create a ProRes. How can I do that with my own nodes?

Thanks a ton in advance

@Ricardo_Musch - Also just shot you an email through your site! Keep me posted. Would love to chat.

1 Like

Hi @Ricardo_Musch,

Thank you very much for your quick reply and sorry for the delay in getting back to you. I have been away for a while and my priorities have changed since my return.

But yes, we are using Deadline, so I’ll try your suggestion as soon as I get a chance.

Thanks again

Dani

1 Like

Hey @Cameron did you ever get this to work?

I’d prefer to just have our artists write with a standard node, to Deadline and then run an SG Write node to publish (with review media) to be honest and it sounds like this is what you were after too

I have to defer to @Ricardo_Musch here cause our solution was to hire him and use his company’s tools. So something to consider if you’re figuring it out still on your end!