从WSGI应用程序在服务器上启动长时间运行的进程

时间:2011-02-07 07:15:40

标签: python wsgi

我需要通过http开始一个长时间运行的过程(30分钟),并在运行时获取状态。 “进程”基本上是一个更新数据库的Python脚本。我有以下限制:

  1. 一次只能运行一个流程实例。

  2. WSGI应用程序在几个解释器中运行,所以我不能只创建一个全局变量isRunning来跟踪它。

  3. 我需要一个网页来跟踪流程(状态/进度)

  4. 没有Django,只是纯粹的WSGI。

  5. 任何人都有同样的经历吗?

2 个答案:

答案 0 :(得分:2)

将进程隔离为单独的守护程序,并使用MQ或其他IPC来处理作业。让它在数据库进展时更新一个值,并在网页中读取该值。

答案 1 :(得分:1)

使用Celery(http://celeryproject.org/)查看并在Python Web应用程序进程之外运行任务。

相关问题