Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用blender和twisted(python)的服务器端渲染_Python_Rendering_Twisted_Blender - Fatal编程技术网

使用blender和twisted(python)的服务器端渲染

使用blender和twisted(python)的服务器端渲染,python,rendering,twisted,blender,Python,Rendering,Twisted,Blender,我目前正在做的项目基本上是从命令行中获取一个图像,然后使用blender渲染一个视频。目前我正在使用它来处理请求,但肯定有一些事情我做错了,因为它没有按照我希望的方式工作。你可以看到这个程序的jist(我去掉了任何不必要的东西) blender渲染是通过生成一个子流程(我知道Twisted)和一个配置渲染并使用作为纹理提供的图像来完成的 程序需要能够处理尽可能多的连接。目前,子流程一次只进行一次渲染,但理想情况下,它会检查CPU/并行渲染的数量,并将数量调整到最佳值。每个渲染都是用户自定义的,因

我目前正在做的项目基本上是从命令行中获取一个图像,然后使用blender渲染一个视频。目前我正在使用它来处理请求,但肯定有一些事情我做错了,因为它没有按照我希望的方式工作。你可以看到这个程序的jist(我去掉了任何不必要的东西)

blender渲染是通过生成一个子流程(我知道Twisted)和一个配置渲染并使用作为纹理提供的图像来完成的

程序需要能够处理尽可能多的连接。目前,子流程一次只进行一次渲染,但理想情况下,它会检查CPU/并行渲染的数量,并将数量调整到最佳值。每个渲染都是用户自定义的,因此一旦用户渲染完成,他们就应该返回渲染(avi文件)


我的问题是:扭曲是正确的选择吗?还有其他选择吗?如果没有,我的系统实施是否有缺陷?我会很感激任何关于这方面的想法或意见

这是正确的选择吗?
-也许吧

还有其他选项吗?
-有

如果没有,我的系统实现是否有缺陷?
-是。在我看来,您的子进程调用正在阻塞:
p.wait()

在Twisted中,你可以做你听起来想做的事情,但你离它还有很长的路要走

您需要一个带有web前端的速率控制异步任务队列

你得到的是单线程“站点”上的单个页面,在提交的作业完成之前不会返回任何html

这在twisted中是可能的。然而,使用django+芹菜可能更容易实现

德扬戈:
芹菜:

以及类似目的的教程:

Django和芹菜似乎是一个很好的解决方案!我要试一试,然后再报告。这正是我想要的。谢谢我在一个类似的项目中工作,使用blender和python服务器,我现在想知道你是否有blender内存或类似的问题。搅拌机总是在你的服务器上运行吗?或者为每个客户端启动blender?我们每次想使用它时都从命令行运行blender。我们过去常常设置渲染,运行渲染并获得进度。我们使用芹菜和RabbitMQ对作业进行排队,以便一次只运行一个作业。