我正在使用sails.js v0.10.5。
我有很長的處理控制器操作需要超過2分鐘才能完成,導致sails服務器超時。如何覆蓋這個超時時間並將其設置爲我的值,例如10分鐘。請指定在哪個文件中以及需要做出哪些更改以增加sails服務器超時。Sails.js服務器請求超時
4
A
回答
3
你可以找到它的行動延遲起動過程
sails --verbose lift
的大部分時間,ORM導致這種問題。
UPDATE 我認爲超時由快遞提供的,如果你想修改它,你可以使用connect-time
1.安裝
$ npm install connect-timeout --save
2.加中間件HTTP。 js
var timeout = require('connect-timeout');
......
order: [ 'timeout' ....]
0
我的回答很漂亮與Ryan提供的相似,但爲了清晰起見,我將擴展該示例。另外我沒有看到在那裏需要依賴安裝。
TL; DR加入該修訂req
增加超時
在/config/http.js
order: [
'startRequestTimer',
'cookieParser',
'session',
'myRequestLogger',
'contentTypeCheck',
'extendTimeout', // <--- The order is somewhat important, added it before the body is parsed without issue
'bodyParser',
'handleBodyParserError',
'compress',
'methodOverride',
'poweredBy',
'$custom',
'router',
'www',
'favicon',
'404',
'500'
],
extendTimeout: function(req, res, next) {
req.setTimeout(300 * 1000); // Increase the request timeout to 5 minutes
return next();
},
// Other custom middleware
還可以設置req.setTimeout(0)
,如果你不希望任何超時在所有定製的中間件,而可以是有點危險。
這將設置所有路線的超時記住。通過設置req.setTimeout(<some timeout>)
作爲處理路由的控制器中的第一行,這可以在每個路由基礎上被覆蓋。
相關問題
- 1. 服務器超時兩個請求
- 2. SQL服務器「鎖請求超時時間段超過」 ..再次
- 3. Xcode服務器 - 構建服務錯誤:請求超時
- 4. SQL服務器錯誤 - 超出鎖定請求超時
- 5. iPhone Web服務請求超時
- 6. 超時與Python請求+ Clojure HttpKit服務器但不是環服務器
- 7. 當服務器處理請求的時間超過120秒時,節點Express服務器連接超時
- 8. 捲髮請求超時 - 如何確定它是否位於源服務器或請求服務器上?
- 9. 請求超時 - 請求超時
- 10. 如何在Tornado服務器中設置請求超時?
- 11. curl請求到同一臺服務器間歇性超時
- 12. 如何檢測ajax請求上的php服務器超時
- 13. 如何設置碼頭服務器的連接/請求超時?
- 14. C#HttpClient服務器超時取消所有後續請求
- 15. Nodejs + expressjs在服務器超時後重播請求
- 16. HTTP請求超時。弱wifi或緩慢的服務器?
- 17. HTTP頭請求超時在服務器上
- 18. 獲取超時錯誤在樂山服務器讀/寫請求
- 19. 請求服務器返回一個超時
- 20. HTTPS請求超時,服務器重啓後
- 21. 408請求超時服務器超時等待來自客戶端
- 22. NSURL請求超時請求
- 23. 請求超時
- 24. 請求重定向到達服務器時到達服務器
- 25. 停止服務器請求
- 26. 服務器請求每秒
- 27. OpenCPU服務器請求
- 28. 監視服務器請求
- 29. ASP.NET服務器請求
- 30. 請求服務器node.js
謝謝@Ryan Wu,但是我需要將超時時間從2分鐘增加到10分鐘。由於呼叫需要這很多時間來處理。我已經通過控制器 'var myAction = function(req,res){ \t req.connection.setTimeout(10 * 60 * 1000); //動作代碼/處理 res.ok(jsonData) } ' 但我必須爲每個動作編寫它。我有任何configutaion選項來覆蓋全局超時。 –
我更新了答案! –
仍然沒有找到一種方法來全局覆蓋超時... 嘗試了中間件中的http.js更改(但沒有成功)。 是否有其他解決方案? – EfiBN