![](/img/trans.png)
[英]How to increase Apache CXF timeout using XML configuration and JaxWsProxyFactoryBean?
[英]How to increase the socket timeout on the server side using Restify?
我使用restify來實現一個node.js服務器。 基本上,服務器會根據HTTP POST請求運行一個耗時的過程,但是不知何故套接字被關閉,客戶端會收到如下錯誤消息:
[Error: socket hang up] code: 'ECONNRESET'
根據錯誤類型,套接字肯定在服務器端是關閉的。
我可以在restify的createServer
方法中設置任何選項來解決此問題嗎?
編輯:長期運行的進程正在使用Mongoose運行MongoDB進程。 也許套接字掛起是由與MongoDB的連接引起的嗎? 如何增加貓鼬的超時時間? 我發現掛斷恰好在120秒內發生,所以可能是由於某些默認超時配置造成的嗎?
提前致謝!
您可以在req
對象上使用標准套接字 ,並手動調用setTimeout來增加節點掛起套接字之前的時間。 默認情況下,node在所有套接字上都有一個2分鍾的計時器以使其處於不活動狀態,這就是為什么您正好在120秒時掛斷(這與restify無關)。 例如,設置一個處理程序使其在長時間運行的任務之前運行:
server.use(function (req, res, next) {
// This will set the idle timer to 10 minutes
req.connection.setTimeout(600 * 1000);
res.connection.setTimeout(600 * 1000); //**Edited**
next();
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.