可以在Python中使用独立Python API与HTTP API进行通信。要使用HTTP API,必须在你知道其IP地址和端口号的计算机上运行Web Service。有关API功能及其使用方式的列表,请转到deadline下载页面并下载帮助文档。本质上,deadline的独立Python API是围绕RESTful HTTP API的Python包装器API。
请注意,由于所有与deadline的通信都通过运行WebService的计算机而不是本地主机进行,因此应该仔细考虑后果。提供的任何文件路径都必须在Web Service计算机上有效,包括操作系统之间的任何差异(例如,您的本地主机运行Windows但WebService是Linux)。在提交作业的情况下,作业的用户名将是当前运行Web服务的用户帐户,而不是提交本地用户,除非作业信息中提供了UserName。
1、打开DeadlineWebService:
任意一台deadline client的deadline安装目录下找到deadlinewebservice,
双击启动
可以看到web service使用的端口为8082,假如当前机器的ip为192.168.2.209
当前局域网内的任意机器都可以在浏览器中输入192.168.2.209:8082访问web service。
如果想改变端口,可以到DeadlineMonitor—>Tool—>Configure Repository Options—>Web Service Settings 修改Listening Port
2、要使用Deadline standalone python API必须安装python2.7或者更新的版本,这里我选择的是2.7版本
安装成功的话,在cmd输入python即可看到安装的版本
安装deadline API需要把..\DeadlineRepository10\api\python\Deadline拷贝到python的site-packages文件夹下,在这里我的路径是:
C:\Python27\Lib\site-packages,安装成功后,在cmd中输入python,输入import Deadline.DeadlineConnect as Connect导入成功代表安装成功
3、API的使用
必须创建DeadlineCon对象,该对象用于与WebService通信以发送和接收请求。
首先输入“import Deadline.DeadlineConnect as Connect”,
然后创建连接对象“connectionObject = Deadline.DeadlineConnect.DeadlineCon('PulseName',PulsePortNumber)”,
其中'PulseName'是当前运行Web Service机器的DNS名称或IP地址,“PulsePortNumber”是在“上文中提到的Repository选项”中的“Web Service”中配置的Web服务端口号。 默认情况下为:8082。
“connectionObject”对象现在可用于将请求传递给WebService。
示例:获取组名并暂停作业
>>> from Deadline.DeadlineConnect import DeadlineCon as Connect
>>> con = Connect('PulseName', 8080)
>>> con.Groups.GetGroupNames()
[u'none', u'group1', u'group2', u'group3']
>>> jobId = validjobID
>>> con.Jobs.SuspendJob(jobId)
'Success'
更多deadline API的帮助可以在http://www.thinkboxsoftware.com/deadline-downloads/ 下载。