however, even after going through your script examples, I’m not sure what would be the best way to write a custom submission script for submitting Python scripts for maintenance reasons, so that I didn’t have to run PreLoad scripts for a specific plugin (Nuke, Max etc…), but I could select a specific xxx.py file in the Repository and have the code in the file executed by all the render slaves I submit this script to.
Basically, the reason is, as I said, maintenance. I also do beta test a few software packages and I need to synch various folders and files on my farm rather often. This way I could make sure I synched everything prior to any rendering job submission.
A simple UI would certainly be a plus. I know how to make the UI from your example, I’m just not sure how to create a custom submission “plugin”.
Any hint or link to your documentation regarding this issue would be much appretiated.
This includes a walkthrough of a basic plugin example, and you can always look at plugins that are shipped with Deadline for more examples. In your case, it might make sense to write a Python plugin for Deadline, and all that plugin does is run a script that was specified during submission. Your submission dialog would just have an option for the user to specify which script they want to run.
I’ve attached an old plugin that our pipeline department developed for this very purpose, and it should be enough to get you started. I haven’t actually tested this plugin myself, so I’m essentially providing it “as is” with no guarantees.
What would be rather nice is to build a “py script job submission” interface to this py script plugin in the same style as the existing “Submit Command Script Job To Deadline” but for py scripts as this would be good for Deadline users on any OS platform? Just an idea to maybe add to the feature enhancement list which shouldn’t take too long to dev?
Mike
The main reason is synchronization (in my case), which can only take place using the Preload.py script, which works 100% the way I want, except it is being run EVERY TIME a job of this plugin is being run, which doesn’t exactly save network resources
So, a “Submit Python Script” plugin to select a script file or a series of script files that’d get executed by Deadline on each machine the job was run on, would be GOLD!
How does your sync script work? Does it check date/time or file sizes and only copies over files that have changed, or does it copy over every file, every time? If it’s the former, I would expect the network load to be minimal.
As for my PreLoad.py script. It’s actually the simplest one, which always copies everything over. That’s why the network overhead. I’ll modify it so it compares the folders first.
However, for extra specific tasks, such functionality (submit Python Script to Deadline) would be much, much welcome! I’ll try to find the time to write it myself, but I have a feeling you will be 1) faster and 2) more robust and “polished” than me