Maya中提交Nuke工程到deadline中的方法
在之前的一篇文中介绍了在maya中生成nuke工程脚本的方法,后来部门负责人希望更简单一些,能在那个功能面板里提交deadline农场渲染更好,这样就不用打开nuke手动提交了,省去了在两个软件直接来回切换的冗余工作。
于是开始结合deadline提交原理分析这个需求。首先行业内大部分农场软件都是UI封装一堆命令行的方式,那么我们提交任务也完全可以跳过提交任务的设置界面,直接用subprocess.Popen()来运行提交任务的命令行即可。
仔细读了SubmitNukeToDeadline.py及DeadlineNukeClient.py,剥离出一行最基本的代码:
subprocess.Popen(["C:\\Program Files\\Thinkbox\\Deadline7\\bin\\deadlinecommand.exe",\
"D:/nuke_submit_info.job",\
"D:/nuke_plugin_info.job"])
subprocess.Popen()函数中有三个参数,第一个是本机deadline客户端执行文件路径,第二个提交信息的参数文件路径,第三个是软件信息文件的路径。也就是说我们只需要构建后面两个文件,就可以在任意软件环境利用subprocess.Popen()提交Nuke任务到deadline渲染农场中了。
放一个构建这两个参数文件的函数吧:
def submit_script_to_deadline():
#create plugin file
plugin_InfoFile = "D:/nuke_plugin_info.job" plugin_fileHandle = open( plugin_InfoFile, "w" ) plugin_fileHandle.write("SceneFile=%s\n"%(projpath))
plugin_fileHandle.write("Version=8.0\n\
Threads=0\n\
RamUse=0\n\
BatchMode=False\n\
BatchModeIsMovie=False\n\
NukeX=True\n\
UseGpu=False\n\
ProxyMode=False\n\
EnforceRenderOrder=False\n\
ContinueOnError=False\n\
Views=\n\
StackSize=0\n\
") plugin_fileHandle.close() #create submit file
submit_InfoFile = "D:/nuke_submit_info.job" submit_fileHandle = open( submit_InfoFile, "w" ) submit_fileHandle.write("Plugin=Nuke\n")
projreg = re.compile('\S+\\\\(\w+.nk)')
matchgroup_2 = projreg.match(projpath)
projectname = matchgroup_2.group(1)
submit_fileHandle.write("Name=%s\n"%(projectname))
submit_fileHandle.write("Comment=\n\
Department=\n\
Pool=none\n\
SecondaryPool= \n\
Group=none\n\
Priority=50\n\
MachineLimit=0\n\
TaskTimeoutMinutes=0\n\
EnableAutoTimeout=False\n\
ConcurrentTasks=1\n\
LimitConcurrentTasksToNumberOfCpus=True\n\
LimitGroups=\n\
JobDependencies=\n\
OnJobComplete=Nothing\n\
")
submit_fileHandle.write("Frames=%s-%s\n"%(startframe,endframe))
submit_fileHandle.write("ChunkSize=10\n\
Whitelist=\n\
OutputFilename0=%s"%(writepath))
submit_fileHandle.close()
Maya中提交Nuke工程到deadline中的方法的更多相关文章
- MVC中提交包含HTML代码的页面处理方法(尤其是在使用kindeditor富文本编辑器的时候)
针对文本框中有HTML代码提交时,mvc的action默认会阻止提交,主要是出于安全考虑.如果有时候需求是要将HTML代码同表单一起提交,那么这时候我们可以采取以下两种办法实现: 1.给Control ...
- Maya中输出nuke脚本的方法
因项目需要,三维部门跟踪组动画组都需要一个能够快速输出nuke预合成工程的脚本.脚本已经写完,源码不便于放出来,写一个大致思路吧. 我首先分析了nuke工程,内部包含了哪些节点,这些节点有哪些属性需要 ...
- 在eclipse上使用github,向github中提交项目
1.下载egit插件 打开Eclipse,git需要eclipse授权,通过网页是无法下载egit的安装包的.在菜单栏依次打开eclipse→help→install new software→add ...
- 如何在Java应用中提交Spark任务?
最近看到有几个Github友关注了Streaming的监控工程--Teddy,所以思来想去还是优化下代码,不能让别人看笑话,是不.于是就想改在一下之前最丑陋的一个地方--任务提交 本博客内容基于Spa ...
- 在VS2015 RC打开CTP中创建的工程
VS2015终于出了RC了!小伙伴们快来安装试用吧,地址在这里,还有新的Windows 10开发工具哦,要不然是开发不了Universal Windows App的,安装前记得卸载CTP版本. 新的R ...
- ] 解决myeclipse中新建javaweb工程,无法使用Web App Libraries问题
] 解决myeclipse中新建javaweb工程,无法使用Web App Libraries问题 标签: myeclipsejavawebWeb App Libraries 2013-10-16 1 ...
- MyEclipse8.6中提交SVN报错
上周五(11月27日)的时候,从TortoiseSVN提交项目报错,然后直接从MyEclipse中检出来,修改后提交同样报错. MyEclipse8.6中提交SVN报错,错误提示如下: commit ...
- 4 weekend110的textinputformat对切片规划的源码分析 + 倒排索引的mr实现 + 多个job在同一个main方法中提交
好的,现在,来weekend110的textinputformat对切片规划的源码分析, Inputformat默认是textinputformat,一通百通. 这就是今天,weekend110的te ...
- 第二篇:智能电网(Smart Grid)中的数据工程与大数据案例分析
前言 上篇文章中讲到,在智能电网的控制与管理侧中,数据的分析和挖掘.可视化等工作属于核心环节.除此之外,二次侧中需要对数据进行采集,数据共享平台的搭建显然也涉及到数据的管理.那么在智能电网领域中,数据 ...
随机推荐
- Mac+Apache+PHP 安装 Xdebug 方法
MAC homebrew自2018/3/31之后弃用homebrew/php By 31st March we will deprecate and archive the Homebrew/php ...
- Windows Server 2012 R2域控制器部署
1. 概述 该文档描述了在Windows 2012R2 系统上搭建域控的方式. 2. 具体步骤 2.1 首先我们先配置好IP地址.计算名(默认的计算机名比较长,后期其它计算机加入域控的时候需要输入比较 ...
- Linux下一个进程可以开多少线程
这个问题,整理了一下网上的资料,结果如下: 一.ulimit -n可以查看一个进程最多可以打开多少文件描述符数: 二.一个进程最多可以产生多少线程,可用如下的方法: 32位linux系统最大内存地址4 ...
- 短信猫+kannel调试一例
同事做一短信网关平台,采用kannel软件. 安装正常,配置文件如下: # Vodafone 3G cardgroup = coreadmin-port = 13000admin-password = ...
- Android开发 ---Media
1.ctivity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout ...
- java中的线程问题是(四)——线程同步问题
多线程的并发,给我们编程带来很多好处,完成更多更有效率的程序.但是也给我们带来线程安全问题. 解决问题的关键就是要保证容易出问题的代码的原子性,所谓原子性就是指:当a线程在执行某段代码的时候,别的线程 ...
- URL和URI(简单介绍)
URL与URI 我们经常接触到的就是URL了,它就是我们访问web的一个字符串地址,那么URI是什么呢?他们是什么关系呢? URL:uniform resource location 统一资源定位符U ...
- 解决Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource com/cqupt/paging/dao/User.xml
搭建了一个ssm项目,启动报错Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find re ...
- 改善Python程序的条条建议
1:引论 建议1.理解Pythonic概念—-详见Python中的<Python之禅> 建议2.编写Pythonic代码 避免不规范代码,比如只用大小写区分变量.使用容易混淆的变量名. ...
- 神州数码OSPF路由协议
实验要求:熟练掌握OSPF配置方法 拓扑如下 R1 enable 进入特权模式 config 进入全局模式 hostname R1 修改名称 interface s0/1 进入端口 ip addres ...