2015-11-05 92 views
1

我有一個小的API根據請求運行子進程,並以最終輸出作爲響應。處理可能需要5-10-30分鐘,沒關係。但是,Express會在一段時間後斷開連接,並記錄下 POST /api/v1/check - - ms - -,即使子進程的輸出仍在處理中,它永遠不會返回到客戶端。快速請求處理超時?

請求是用jQuery進行的。

我該如何正確使用這項工作?

謝謝。

回答

2

這可能是瀏覽器超時連接。您可以在使用jQuery進行ajax請求時設置超時值客戶端。

jQuery timeout參數描述here可以設置爲您選擇的時間。

還有一種方法,服務器可以將一小塊虛擬響應返回(在實際響應之前),以使瀏覽器不超時連接,但在這種情況下,如果您控制客戶端,則更容易只是改變它的超時值。

服務器端,您可以通過設置服務器上的超時值來控制傳入連接何時超時。在http模塊的文檔中描述了here

+0

謝謝,你的回答也幫助了我。 – Rodmentou

+0

這似乎沒有用於我的特殊情況,但無論如何,非常有用! – fivepointseven

+0

@fivepointseven - 爲什麼它不適合你?如果您適當地設置客戶端和服務器超時,您應該能夠控制它。 – jfriend00