2011-02-07 68 views
3

我需要通過HTTP來啓動一個長期運行的進程(30分鐘),併爲它的運行狀態得到的服務器上長時間運行的進程。 「進程」基本上是一個更新數據庫的Python腳本。我有以下約束:開始從WSGI應用

  1. 該進程只能運行一個實例。

  2. 的WSGI應用在幾個口譯運行,所以我不能只是做一個全局變量isRunning來跟蹤它。

  3. 我需要一個網頁跟蹤過程(狀態/進度)

  4. 沒有Django的,只是純粹的WSGI。

任何人有做同樣的事情任何經驗?

+0

你能否澄清一下#1和#2如何不相互矛盾? – carl 2011-02-07 07:40:07

+0

「進程」或作業是從WSGI應用完全分開。的WSGI應用程序正在使用modwsgi和WSGIDaemonProcess過程= 4的魯棒性/速度在4個進程/口譯運行。 – kalithlev 2011-02-07 08:10:06

回答

2

將進程隔離爲一個單獨的守護進程,並使用MQ或其他IPC來處理作業。讓它在數據庫中更新值,並在網頁中讀取該值。

1

查看使用Celery(http://celeryproject.org/)並在Python Web應用程序進程外運行任務。