Since the only API documentation available is still part of the D5 docs, I’m wondering if it’s possible to get at least a summary of the API and plugin logic changes that have been made so far, and those that are still planned but not done yet. I know at least a few of them have been covered in other threads, but it would be nice to have a comprehensive reference thread that can be kept up to date as other things are added or changed. Basically, I’d really like to avoid writing my own crawlers if possible…
All the global functions already had equivalents in one of the Utils classes, or as member functions of the DeadlinePlugin class.
Some new API functions and classes have been added that still lack documentation. However, we are currently working on a separate doxygen style API reference that should be finished soon, and everything will be documented. The actual “how to” stuff will still be in the regular documentation, and we will cover the new plugin logic there. Hopefully we can get to this soon.
Has there, in fact, been some method added to fail a task without allowing it to re-queue? I was under the impression there had, but there isn’t really anywhere I can look…
Can the PluginInfo dict be accessed from within the PluginPreLoad script (before the job plugin module is imported)?
When submitting a job, how would I pack custom key-value pairs into the “ExDic” dict? That is, how should they be formatted in the JobInfo file passed to DeadlineCommand?
Yup. The DeadlinePlugin/ManagedProcess class now has an AbortRender function that lets you control the abort level. We released the API docs with beta 11 yesterday, so you can take a look at them for more info: viewtopic.php?f=85&t=8912
No. The plugin preload script is executed before we create an instance of DeadlinePlugin, so there is no way to get access to the plugin info.
Yup, you just pass those ExtraInfoKeyValue# entries. Just make sure to start with 0 for the # instead of 1.
Awesome! Somehow I missed that link on the release page. but those are great.
Ok, makes sense. So what job-specific info (if any) is accessible from PluginPreLoad.py then? Job ID? Task/frame number? Nothing? Has anything been shoehorned into the execution environment at that point?
We could probably pass something to the main function, like the job object. Or we could create a new object that just has some basic info (job and current task ID). We’ll put this on the todo list.