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?
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…
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?
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.
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.
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.