1.HQueue是我最早搭建到本地農場。經過測試,效率極其低下。基本上是個玩具,離真正的管理軟件差的十萬八千里。
不是說Hqueue不行,因為發現了用 農場管理軟件API調用Houdini Rendering/Simulation更加穩定.更加方便管理。
2,然后就徹底拋棄HQueue, 雖然這個時候是不能分布式模擬的,但是農場可以單機模擬。
經過證明這條路是正確的。電影 正常的做完 就是最好的證明。
3,為了做分布式模擬,也是要放到農場管理軟件。
HQueue有一些反應遲鈍的問題,所以考慮了怎么設計讓連接穩定,分布式結算隔離。
方案就是:
終端用戶->農場管理api->提交任務(同時啟動tracker追蹤)
用戶最終接觸到API是這樣的,這個主要管理tracker追蹤。tracker主要houdini自帶的一個py文件,
我在控制刀片的服務器,寫了一個進程池管理tracker.讓每一個分布式模擬擁有一個tracker.
最終暴露給用戶的是這些API: 可以直接在Houdini里面import進去
所有的命令是非阻塞設計。
比如我可以直接在Houdini里操作:
服務端會parse這些命令:
這個server是udp server為了這個udpserver我還寫了簡單的消息握手,管理所有的tracker process pool
python服務中綁定ip必須是explicit IP, not 127.0.0.1.... 要不就會出現socket 10054 錯誤。
然后就是收文件:(houdini交換數據太穩定了吧。。。)
4,如果你是服務器是雙網段會比較麻煩下,必須把tracker綁定到你的刀片所在網段。
現在這些東西全在農場跑了
* Katana 渲染(Linux cluster)
* Maya 緩存
* Houdini 緩存/渲染/分布式結算
* Nuke