python如何提交作业_玛雅截稿作业提交python命令

最后,我得到了发送玛雅方式将作业呈现到截止日期渲染农场软件。 我们需要做的就是写2个工作文件的截止日期。 1. maya_deadline_job.job 2. maya_deadline_info.job

和deadlinecommand.exe 例如通过将这些文件作为参数:

deadlinecommand.exe "maya_deadline_info.job" "maya_deadline_info.job"

这里是我的Python代码

"""

This script will submit current file to deadline for render

"""

import os

import sys

import subprocess

import maya.cmds as cmds

def maya_deadline_job():

"""

this function will collect scene file information and write a job file

:return:

"""

renderer_name = 'File'

version = cmds.about(version=True)

project_path = cmds.workspace(q=True, directory=True)

width = cmds.getAttr("defaultResolution.width")

height = cmds.getAttr("defaultResolution.height")

output_file_path = cmds.workspace(expandName="images")

output_file_prefix = cmds.getAttr("defaultRenderGlobals.imageFilePrefix")

scene_file = cmds.file(q=True, location=True)

info_txt = 'Animation=1\n' \

'Renderer={}\n' \

'UsingRenderLayers=0\n' \

'RenderLayer=\n' \

'RenderHalfFrames=0\n' \

'LocalRendering=0\n' \

'StrictErrorChecking=1\n' \

'MaxProcessors=0\n' \

'AntiAliasing=low\n' \

'Version={}\n' \

'Build=64bit\n' \

'ProjectPath={}\n' \

'ImageWidth={}\n' \

'ImageHeight={}\n' \

'OutputFilePath={}\n' \

'OutputFilePrefix={}\n' \

'Camera=\n' \

'Camera0=\n' \

'Camera1=RENDERShape\n' \

'Camera2=frontShape\n' \

'Camera3=perspShape\n' \

'Camera4=sideShape\n' \

'Camera5=topShape\n' \

'SceneFile={}\n' \

'IgnoreError211=0'.format(renderer_name

version,

project_path,

width,

height,

output_file_path,

output_file_prefix,

scene_file)

maya_deadline_job_file = r'{}\maya_deadline_job.job'.format(os.getenv('TEMP'))

with open(maya_deadline_job_file, 'w') as job_file:

job_file.write(info_txt)

return maya_deadline_job_file

def maya_deadline_info():

"""

this function will collect maya deadline information and write a job file

:return:

"""

info_txt = 'Plugin=MayaBatch\n' \

'Name=MY_FILE_NAME\n' \

'Comment=Render Launch by Python\n' \

'Pool=none\n' \

'MachineLimit=0\n' \

'Priority=50\n' \

'OnJobComplete=Nothing\n' \

'TaskTimeoutMinutes=0\n' \

'MinRenderTimeMinutes=0\n' \

'ConcurrentTasks=1\n' \

'Department=\n' \

'Group=none\n' \

'LimitGroups=\n' \

'JobDependencies=\n' \

'InitialStatus=Suspended\n' \

'OutputFilename0=C:/Users/raijv/Documents/maya/projects/default/images/masterLayer_2.iff.????\n' \

'Frames=1-10\n' \

'ChunkSize=1'

maya_deadline_info_file = r'{}\maya_deadline_info.job'.format(os.getenv('TEMP'))

with open(maya_deadline_info_file, 'w') as job_file:

job_file.write(info_txt)

return maya_deadline_info_file

def submit_to_deadline():

"""

this function will send current scene to deadline for rendering

:return:

"""

deadline_cmd = r"C:\Program Files\Thinkbox\Deadline\bin\deadlinecommand.exe"

job_file = maya_deadline_job()

info_file = maya_deadline_info()

command = '{deadline_cmd} "{job_file}" "{info_file}"'.format(**vars())

process = subprocess.Popen(command, stdout=subprocess.PIPE)

lines_iterator = iter(process.stdout.readline, b"")

# Lets print the output log to see the Error/Success

for line in lines_iterator:

print(line)

sys.stdout.flush()

submit_to_deadline()

编辑info -

请勿在渲染器中使用cmds.getAttr(“defaultRenderGlobals.currentRenderer” _name变量。使用将覆盖渲染器的图层。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值