Pausing Deadline

Hi All,

Is there a way to pause Deadline?

I know you can suspend tasks and also let them finish the task they are rendering, but I’m looking for a ‘pause’ button that will suspend all jobs submitted after this and resume jobs afterwards.

This is for a maintenance change, whether this be updating the software or hardware or having other issues such as power, AC, etc?

Thanks
Ant

Wouldn’t it make more sense to send a Stop remote command to all Workers?
The Jobs would stay in the states they had before, but they will not render if all Workers are Offline…

Thanks Bobo

Yes, this makes sense, but in case the Workers are set to schedule start, or start by idle, or are started locally by users looking for resources, is there a pause style button which prevents this?

I don’t think there is.

So back to your original question/idea, why not write a General Monitor Script to

  • Collect all Job States and their IDs
  • Store the data in a text (deadline_paused.ini) file
  • Loop through all Jobs that are in Queued or Rendering state and Suspend them
  • Once you are done with your maintenance, run through the file on disk and Resume all jobs you suspended in the previous run, then delete the ini file.

You could also add an Event script that would check if the .ini file exists, suspend any new jobs submitted after the Pause was enabled, and append them to the list on disk for later resuming.

Here is a VERY basic version of what I proposed above:

PauseResumeQueue.zip (951 Bytes)

  • Copy the script into the Repo/custom/scripts/General/ folder
  • Restart the Monitor
  • Open the Panels > Console panel to see the feedback
  • Launch from the Scripts menu > PauseResumeQueue
  • Press the PAUSE/RESUME button
    • A file “PauseDeadlineQueue.txt” will be written to the temp folder of Deadline (e.g. C:/Users/[Username]/AppData/Local/Thinkbox/Deadline10/temp/ on Windows) containing the job ids to be suspended
    • All active (rendering, queued) jobs should get suspended immediately.
  • Press the button again - all previously suspended jobs will be resumed. Other jobs that were suspended, completed, failed, or pending before will remain in their original states. The file “PauseDeadlineQueue.txt” will be deleted.
  • You can repeat this as often as you want.

I have tested this only with a few jobs, and have not tried all types of jobs including pending etc. But I expect it to work as intended. Please let me know if you find any issues. Feel free to expand.

2 Likes

Thank you for this! This helps during maintenance or when we want to manually shutdown the farm immediately without the need to wait for render to complete or waste those renders. Thank you again.

Thanks Bobo, can confirm this works.

Will look to see if I can get it to allow the rendering jobs to finish before suspending while pausing everything else queued