龙卷风子流程混乱

时间:2015-10-03 12:25:42

标签: python tornado

我正在尝试构建一个Tornado Web服务器,它接收来自多个客户端的请求。请求包括: 一个。对于通过URL传递的给定目录名称,压缩文件等,并将其FTP出来。 湾如果任务完成,则提供各种状态。

因此,我想将其分解为多个子任务,而不是将其作为同步和线性过程。客户端将提交URL请求,然后只是收到各种提交作业的响应'。稍后,客户可以来询问这份工作的状态。在此期间,工作显然必须完成其任务。

我对使用哪些模块 - Tornado Subprocess,Popen contructor,Subprocess.Call等感到困惑。我已经阅读过Python文档,但无法找到任务运行时间更长的任何内容而且Tornado不是应该等待它完成。所以,我需要一种机制来启动一项工作,让它运行它的路线但放弃客户端,然后当客户要求提供它的状态时。 任何帮助表示赞赏。感谢。

1 个答案:

答案 0 :(得分:1)

Python程序员广泛使用Celery来管理任务队列的一组进程。 Set up Celery with RabbitMQ并写一个Celery工作者(可能带有Celery Canvas来完成你需要的工作:拉链一个目录,把它移到某个地方等等。

Tornado-Celery集成包提供了appears close to what you need to integrate your Tornado application with Celery

当然,首先要安装和配置这些部件,但它将为您提供可维护的应用程序架构。