普段案件毎に読ませるプラグインを変えているので、deadlineのワーカーにも同一のプラグインを読ませないと動かない。
プラグインについてはver違いなどもあるので、ワーカーにとりあえず全部インストールスタイルは通用しない。
案件のmaya起動に使用しているusersetup.pyをmayaBatchに読ませたら良いのでは?
mayaBatch.exeに読ませられるか実験
SET MAYA_UI_LANGUAGE=en
SET PYTHONPATH="Z:/python"
START "" "C:\Program Files\Autodesk\Maya2019\bin\MayaBatch.exe" -file "Z:\testFile.ma"
結果:どうやら読ませられる。
mayaBatch で GUIをいじるとクラッシュするとの報告も見かけたので、念のため usetsetup.py 内で
if cmds.about(batch = True) ==False:
によってmayaBatch時はGUI編集を飛ばすように対応。
usersetup.pyを読ませるために デッドラインの mayaBatch プラグインをちょっと編集
直接編集は怖いので、複製して別名プラグインとして編集。
def StartJob 内に
self.SetEnvironmentAndLogInfo("PYTHONPATH", "Z:/python")
を追記。
※SetEnvironmentAndLogInfo は環境変数を指定するためのdeadlineのコマンド
usersetup.pyの場所も実行時のオプションとして渡したいのであれば、
サブミット時に生成される XXXXXXXX.job ファイルにオプションを追加。
PYTHONPATH=Z:/python
それをプラグイン側で読み込ませて、環境変数に渡す。
pythonPath = self.GetPluginInfoEntryWithDefault("PYTHONPATH", '')
if pythonPath != "":
self.LogInfo("Adding " + pythonPath + " to PYTHONPATH")
self.SetEnvironmentAndLogInfo("PYTHONPATH", pythonPath)
オプションの追加はサブミッターも合わせて改修する必要があるので、現在は案件毎にハードコーディング。
参考