我有一個python webapp,它通過POST接受一些數據。被調用的方法可能需要一段時間才能完成(30-60s),所以我想「背景」該方法,以便我可以用「處理」消息響應用戶。關於使用變量背景任務的建議?
的數據是相當敏感的,所以我不希望使用任何基於隊列的解決方案。我還希望確保在web應用程序以任何方式失敗時,後臺方法不會中斷。
我首先想到的是到餐桌的過程,但我不能確定如何傳遞變量的過程。
我用Gevent之前,它有一個方便的方法:gevent.spawn(function, *args, **kwargs)
。有什麼可以在流程級別使用的嗎?
任何其他意見?
我不明白以下內容:「該數據是相當敏感的,所以我不希望使用任何基於隊列的解決方案。」隊列有什麼問題?如果你在惡意機器上運行,排隊是你最擔心的問題。 – katrielalex 2010-09-02 15:01:55
這樣做的方法絕對是使用消息隊列(rabbitMQ和celary是兩個)。您可以在與您的Web應用程序相同的機器上運行其中的一個。正如Katrielex所說,在線程中做這件事沒有任何安全性好處。 – 2010-09-02 15:26:02