Why Isn’t My Job Rendering? Let’s Find Out!

Version: Deadline 10.0.10.4 and later

Introduction

When you submit a job to Deadline, render nodes are typically able to pick it up and start working on it immediately. However, it can be puzzling when a job sits in the “Queued” state when there appears to be Deadline Slaves that should be able to render it.

Until now, you couldn’t tell if the job was being passed over because of higher priority jobs in the queue, or because there was a problem with the submission or the render farm’s configuration. For example, take a look at the “Please Render Me” job in the render queue below.

frc_job-not-rendering.png

From a quick glance, it’s not clear why this job isn’t rendering. It’s the only active job in the queue, and all the render nodes are idle. To address this problem, we’ve introduced a new feature in Deadline 10.0.10.4 that allows you to investigate the reason!

The Feature: Find Render Candidates

You can now find out which Slave can render a job by right-clicking on the job and selecting “Find Render Candidates…”:

frc_find-render-candidates.png

This brings up a window that shows you information about the job, as well as which Slaves can render it. For any Slaves that can’t render the job, the “Message” column shows the reason that the Slave is not picking up the job.

frc_no-candidates.png

By looking at the example above, we can see that there are in fact no Slaves that can render the job. The job’s properties show that the Group is set to “none”, and many Slaves are reporting that they cannot render the job because it is in the “none” group. We probably forgot to assign the job to a Group when we submitted it. Let’s address that by changing the job’s group to “red”.

frc_change-group.png

Once we’ve made that change, we can refresh the Job Render Candidates window by clicking the “Refresh” button, or by closing it and opening it again.

frc_one-candidate.png

Now it looks like the “farm_4” render node can render the job. The messages for all of the other Slaves on the farm have updated as well. Note in particular that “farm_3” cannot render the job because it is blacklisted. Simply removing that Slave from the job’s blacklist (assuming that whatever issue caused it to be blacklisted in the first place has been resolved) will give us another render candidate for this job.

Groups and blacklists are just a couple reasons why a job might not be rendering, so please refer to the next section for additional reasons.

Reasons Your Job may not be Rendering

Although the example we went through above was pretty straightforward, there are many reasons that a Slave might not render a job. The “Find Render Candidates” feature can help you quickly determine if a job isn’t rendering because of any of the following:

  • Plugin is Disabled: Is the plugin required by the selected job enabled in the Repository? If it’s disabled, talk to your administrator about enabling it. This can be done in the Plugin Settings.
  • Region is Disabled: Is the region the Slave is part of enabled? If it’s disabled, talk to your administrator about enabling it. Regions can be managed using the Region Settings.
  • Wrong Pool: Is the Slave in the same Pool or Secondary Pool as the job? If it’s not, you could change the Pool in the job’s properties or you can talk to your administrator about adding additional Slaves to the Pool. See the Pools and Groups documentation for more information about managing Pools.
  • Wrong Group: Is the Slave in the same Group as the job? If it’s not, you could change the Group in the job’s properties, or you can talk to your administrator about adding additional Slaves to the Group. See the Pools and Groups documentation for more information about managing Groups.
  • Bad Slave: Has the job marked this Slave as bad? If it has, you can remove it from the bad list in the job’s properties. See Slave Failure Detection for more information.
  • Whitelisted or Blacklisted Slave: Is this Slave whitelist or blacklisted in the job’s Machine Limit? This can be changed in the job’s properties if necessary.
  • Job Dequeuing Settings: Is this Slave configured to dequeue jobs submitted by this job’s user or from their machine? If this is the Slave on your machine, this is set in the Local Slave Controls. Otherwise, talk to your administrator.
  • Unable to Obtain Limit: Is the Slave able to obtain the Limits required by this job? Limits are set in the job’s properties. See Limits and Machine Limits for more information.
  • Invalid/Expired License: Does this Slave have a valid license? If not, talk to your administrator. See Deadline Licensing for more information.

Conclusion

We hope that you try out the new “Find Render Candidates” feature, and find that it makes your life easier when diagnosing problems in your render farm. If you are an administrator, you can use this feature to test your farm configuration by submitting sample jobs and examining what can render it. If you are an artist submitting projects, this should help you quickly identify problems with your submission or configuration issues to bring up to the render farm administrator.

For more information on this feature, please refer to the Job Render Candidates documentation.