3

我目前正在处理的项目基本上是接收图像,然后使用命令行中的搅拌器渲染视频。目前我正在使用Twisted来处理请求,但肯定有一些我做错了,因为它没有按照我想要的方式工作。你可以在这里看到程序的要点(我已经去掉了任何不必要的东西)。

搅拌器渲染是通过生成一个子进程(我知道 Twisted可以处理进程)以及一个python 脚本来配置渲染并使用作为纹理提供的图像来完成的。

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

我的问题是:Twisted 是正确的选择吗?还有其他选择吗?如果不是,我的系统实施是否存在缺陷?我将不胜感激对此的任何想法或意见!

4

1 回答 1

3

Is Twisted the right choice for this?- 也许。

Are there other options?- 是的。

If not, is my implementation of the system flawed?- 是的。在我看来,您的子进程调用正在阻塞:p.wait()

可以在 Twisted 中做听起来像是在尝试做的事情,但距离它还有很长的路要走。

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

您所拥有的是单个线程“站点”上的单个页面,在提交的作业完成之前不会返回任何 html。

这在扭曲中是可能的。然而,使用 django + celery 可能更容易实现。

Django: http: //www.djangoproject.com/
芹菜:http ://celery.github.com/celery/getting-started/introduction.html

还有一个类似目的的教程:
http ://webcookies.org/blog/2009/09/10/rabbitmq-celery-and-django/

于 2010-06-16T10:43:07.977 回答