2009-10-21 46 views
2

我現在有一個網站,通過從夜間運行的cron作業創建靜態html頁面來運行。我想在Python中創建一個「CGI腳本」,它保留在內存中併爲多個請求提供服務

我想添加一些使用CGI類型腳本的搜索和過濾功能,但我的腳本將有足夠的啓動時間(可能幾秒?),我希望它保持駐留和服務多個要求。

這是我爲了娛樂而做的一個側面項目,它不會超級複雜。我不介意使用像Pylons這樣的東西,但我不覺得我需要或想要一個ORM層。

這裏有什麼合理的方法?編輯:我想指出的是,我期待和處理的負載我需要做一個請求,我相信單個進程中的單個python腳本可以處理所有請求,而不會有任何減速,特別是因爲我的數據集是內存駐留。

回答

4

這是WSGI正是對;)

我不知道斷手是什麼把一個CGI腳本到WSGI應用程序最簡單的方法是,雖然(我一直有這樣的一個框架,管理)。不過,這不應該太棘手。

這就是說,An Introduction to the Python Web Server Gateway Interface (WSGI)似乎是一個合理的介紹,你也想看看mod_wsgi(假設你使用Apache ...)

+0

當我讀到關於WSGI的時候,讓我感到震驚的是,它並不是真的打算被這樣的「最終用戶」使用;它更像是其他框架和Web服務器之間的接口。 這裏有人試過直接使用WSGI嗎?它可用嗎? – csbrooks 2009-10-21 18:12:18

+1

寫在wsgi我會考慮比寫直cgi更容易。如果您使用Webob,則更容易。 – 2009-10-21 18:47:03

+0

好吧,WSGI看起來就像這裏走的路。謝謝! 此鏈接(上述鏈接之一)爲我密封: http://bitworking.org/news/Why_so_many_Python_web_frameworks – csbrooks 2009-10-21 19:10:25

-1

也許你應該直接向你的進程間commmunication搜索並進行搜索過程,將結果返回給Web服務器。假設您擁有自己的服務器,此搜索過程將始終運行。

+0

不,我會說這是做錯的方法。 IPC很棘手,這幾乎就是WSGI已經做的事情:當mod_wsgi啓動時,它會fork()並啓動一個進程來運行你的腳本,然後當Apache獲得一個請求爲你的腳本提供服務的URL時,交給'mod_wsgi',然後把它交給你的腳本。對你來說都非常透明。 – 2009-10-22 13:47:36

+0

@david你當然是對的。我不知道WSGI是如何工作的,但是我不喜歡它,所以我試圖尋找一種替代解決方案。 – 2009-10-22 21:01:10

相關問題