2014-02-17 35 views
0

在Django應用程序中,我將接收來自某些外部應用程序(如Facebook,Twitter等)的數據。我想爲我的應用程序中的每個請求設置全局響應超時。如果沒有來自Facebook等外部應用程序的響應,在特定時間範圍內的Twitter等應該爲此拋出異常。在Django中的全局響應超時

是否有任何方式來設置Django應用程序的全球響應超時?

+0

我認爲你需要異步接收數據。芹菜將是完美的。 – mossplix

+0

你的意思是[this](https://docs.djangoproject.com/en/dev/ref/settings/#timeout)? – yuvi

回答

1

您不應該同步執行URL檢索。無論您設置超時時間有多低,總會有一些瀏覽器會根據用戶設置提前超時。從外部網站檢索數據的正確方法是使用異步方法,例如使用Celery

在異步任務中,您可以使用Requests library timeout option來設置超時。