I’ve written a custom plugin to update SVN’s working copy for our render machine.
How can I use deadline to requeue the job for this plugin everyday at 1 am?
I’ve explored the Scheduling option in Job Properties. However, I don’t quite understand how to configure this properly. The documentation on this feature seem very limited.
Unfortunately, I don’t know how to debug HouseCleaningEvent, so I have no idea whether the script is working properly or not.
The option that I’m currently using is to use Windows Task Scheduler and deadline API to requeue my completed task. This work for now, but it does not seem transparent and easy to maintain.
Is there a way in deadline to setup Job that run periodically?
Open the Job Properties dialog and navigate to the Scheduling section. For your case all you have to do is select “Repeating” mode, enter the start date and time, and leave Day Interval at 1. Do not check “Stop Date and Time” and it will repeat forever.
When you do this, the following Job Info Parameters get added:
So you could write a submitter that submit a Python script job with these keys, and it would create a repeating job. However, it might be easier to submit a regular job and then modify its Scheduling settings in the UI…
Regarding the OnHouseCleaning Event, the house cleaning might be performed by a different component depending on your settings - either by a Worker, by a Pulse, or by the Remote Connection Server if it is running. Thus, finding the House Cleaning log can be tricky. But in the Configure Repository Options dialog, under House Cleaning > House Cleaning tab, you have a checkbox to “Run House Cleaning in a Separate Process” and “Write House Cleaning Output to Separate Log File”. So if you have Pulse or RCS running the process, you will also get a separate log file housecleaning-(machinename)-(date).log under the C:\ProgramData\Thinkbox\Deadline10\logs folder of the machine that runs the service performing the operation. This makes it easier to see if your events are running properly.
Thank you very much for the explanation. I think I understand this better now. In the context of “Repeating” Scheduling mode, the “State Date and Time” means the date and time the this scheduling rule is in effect.
In the following screenshot. I’ve set the star date and time as 2024/08/07 19:00:00, which means 7 PM on 7th Aug, 2024.
That is correct, however, as the documentation states, there is one more detail to keep in mind:
It should be noted that if the job is not put into the Pending state, the job will not wait for the scheduled time to begin rendering. When the scheduling settings change, you will be prompted to put the job in the pending state. This can also be done by right clicking the job and choosing ‘Mark as Pending’.
So you must put the job in Pending state for the Scheduling to work as expected.
The task scheduling works. Unfortunately, sometime the task stuck at the “complete” state and did not get to the “pending” state automatically.
In the picture below, the task was running fine from the 2024/08/06 to 2024/08/09. Then, it was marked as Complete, so I have to manually set the task back to pending this morning to fix.
Is there any way that we can debug or fix this issue?
To give some more context, there are three task in the job.
I would expect the Job’s Task logs to contain info around the end of each run.
However, I must admit I have never used this type of job in production and don’t have first hand experience with debugging it.
Also I would like to point out that I joined this thread because I was tagged, but I left the AWS Thinkbox team nearly 3 years ago and don’t participate regularly in this forum anymore. You might have to get someone from the Support team to look into this.