Deadline脚本编写概要
概要
脚本可以被用于自定义Deadline的很多方面,包括创建自定义插件,提交工作到农场,或者在某个工作完成后自动执行某些任务。Deadline使用的脚本语言是Python2.7,它支持python for .NET。另外,它也支持cPython模块,Python for .NET可以让你使用.NET库。这种奇妙的组合(cPython和.NET)可以让熟悉cPython以及.NET的开发人员更加方便的进行开发。工作室可以免费的使用它们来自定义Deadline计算管理框架?
自定义仓库文件夹
如果想要,自定义脚本和插件可以放到Repository目录下的 "custom" 文件夹。这个文件夹中包含的子文件夹,用于存放不同的插件以及脚本,可以让你自定义Deadline的以下领域:
- Application Plugins ../< DeadlineRepository >/custom/plugins/
- Event Plugins ../< DeadlineRepository >/custom/events/
- Cloud Plugins ../< DeadlineRepository >/custom/cloud/
- Balancer Plugins ../< DeadlineRepository >/custom/balancer/
- Monitor Scripts
- Submission Scripts ../< DeadlineRepository >/custom/scripts/Submission/
- General Scripts ../< DeadlineRepository >/custom/scripts/General/
- Job Scripts ../< DeadlineRepository >/custom/scripts/Jobs/
- Task Scripts ../< DeadlineRepository >/custom/scripts/Tasks/
- Slave Scripts ../< DeadlineRepository >/custom/scripts/Slaves/
- Pulse Scripts ../< DeadlineRepository >/custom/scripts/Pulse/
- Balancer Scripts ../< DeadlineRepository >/custom/scripts/Balancer/
- Limit Scripts ../< DeadlineRepository >/custom/scripts/Limits/
- Job Report Scripts ../< DeadlineRepository >/custom/scripts/JobReports/
- Slave Report Scripts ../< DeadlineRepository >/custom/scripts/SlaveReports/
- Web Service Scripts ../< DeadlineRepository >/custom/scripts/WebService/
注意,任何在 "custom" 文件夹里的脚本或者插件,在更新或者向下更新仓库时,不会对它们造成影响。仓库安装包也会在安装时,创建一仿 "custom" 目录的备份,目录丿 ?../backup/[timeStamp]? 或耿 "[mostRecent]/custom"。另外, 在 "custom" 目录下的任何脚本或者插件与Deadline默认的插件同名时,在加载时,custom下的插件将会重载deadline的插件。这种机制下的一个特例是,任何在 “submission? 目录下的脚本/文件是硬连接,所以不支持通过 "custom" 目录系统来重载?
还有一种方法用于针对某个工作从另外一个位置加载它的应用插件,可以冿 Job Properties里进行设置。这在进行插件测试的时候比较方便,可以直接在仓库里进行更新?
注意,由于应用软件的脚本语言的复杂性和局限性,应用软件内置的任务提交工具保存在 ../<DeadlineRepository>/submission/里,并不包含圿 “Custom Repository Folder? 系统下面。为了自定义 ”submission? 目录下面的任意代码,建议先做一份备份,作为以后的参考。注意,任何你所做的自定义操作,在仓库安装包正在进行更新时,也会做一份备份,耿 ”submission? 目录里的内容在更新时将被覆盖?
脚本参考
完整的Deadline Scripting Reference可以在Thinkbox Software Documentation Website网站找到。离线的PDF和HTML版本也可以在这个位置进行下载。查看你当前的Deadline版本以及相应的API&#x