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