所以我有一個後臺程序,我需要公開/控制作爲一個Web服務。我已經封裝了進程以便能夠通過管道接受命令,但現在我正試圖找出如何控制它。Python:DJango如何擁有一個長期運行的過程?
要求如下:
- 需要能夠通過網絡啓動進程
- 需要能夠發送CMDS
- 需要能夠從CMDS 返回結果
- 過程一旦開始活着直到死亡
我認爲主要問題是如何讓django擁有這個過程?從某種意義上說,保留一個有效的保存管道以供將來與後臺進程通信。現在,它的東西沿着線(只是一個例子):
if __name__ == '__main__':
to_process_pipe, process_pipe = Pipe()
node = PFacade(process_pipe)
p.start()
to_process_pipe.send(['connect'])
print to_process_pipe.recv()
p.killed = True
p.join()
我想我需要一個更好的辦法是能夠溝通,BC我不知道我怎麼會在管道儲存在Django。
如果您打算使用芹菜回答,請給我一個很好的解釋。
你從不想讓Django擁有它,因爲你不一定知道你將運行多少個Django進程。 – 2011-03-24 13:04:39
是的,我正在用芹菜Queue替換管道,只是不知道是否有更好的方法。 – Nix 2011-03-24 13:07:04