Я использую sails.js v0.10.5.
У меня есть длительное действие контроллера контроллера, для завершения которого требуется более 2 минут, что приводит к тайм-ауту сервера парусов. Как я могу перезаписать эту длительность таймаута и установить ее на значение, равное 10 минутам. Укажите, в каком файле и какие изменения мне нужно внести, чтобы увеличить тайм-аут сервера парусов.Время ожидания запроса сервера Sails.js
ответ
Вы можете узнать, какие задержки действия отправным процесс
sails --verbose lift
большую часть времени, ORM вызывает такого рода проблемы.
UPDATE я думаю, что тайм-аут предоставляется по экспресс, если вы хотите изменить его, вы можете использовать connect-time
1.Install
$ npm install connect-timeout --save
2.Add промежуточное программное обеспечение для HTTP. js
var timeout = require('connect-timeout');
......
order: [ 'timeout' ....]
Мой ответ довольно аналогично предоставленному Райаном, но я немного расширю этот пример для ясности. Также я не вижу необходимости в установке зависимостей.
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. Время ожидания прокси-сервера Openshift
- 2. Время ожидания запроса KSoap?
- 3. Время ожидания запроса Corba
- 4. Время ожидания запроса
- 5. Как сократить время ожидания сервера?
- 6. Время ожидания запроса HttpPost Android
- 7. Время ожидания HTTP-сервера Golang
- 8. Время ожидания Socket-сервера WCF
- 9. Как продлить время ожидания сервера?
- 10. Как указать время ожидания запроса для моего HTTP-сервера?
- 11. Время ожидания запроса шины Azure
- 12. Время ожидания HTTP-запроса? Android
- 13. время ожидания запроса клиента-клиента
- 14. Node.JS Время ожидания HTTP-запроса
- 15. Время ожидания запроса страницы Asp.net
- 16. Как увеличить время ожидания запроса клиента клиента?
- 17. Установить время ожидания для моего сервера
- 18. Как увеличить время ожидания запроса веб-службы?
- 19. Установить время ожидания запроса OLE из C++
- 20. Google Docs Viewer - время ожидания запроса файла
- 21. HttpWebRequest получает «WebException: время ожидания запроса»
- 22. Ошибка TinyTds: время ожидания адаптивного сервера
- 23. PhoneGap Build - Время ожидания API-адреса сервера
- 24. Уменьшить время ожидания данных с сервера
- 25. Показывать страницу ожидания во время перезагрузки сервера
- 26. Как уменьшить начальное время ожидания сервера?
- 27. Время ожидания необычного SQL-сервера истекло
- 28. Почему это простое время ожидания запроса PUT?
- 29. Сбой запроса на завивку (время ожидания)
- 30. Библиотека Ксаапа и время ожидания запроса?
Спасибо @Ryan Wu, но мне нужно увеличить продолжительность таймаута от 2 минут до 10 минут. Поскольку для вызова требуется это много времени для обработки. Я достиг этого, следуя коду в контроллере 'var myAction = function (req, res) { \t req.connection.setTimeout (10 * 60 * 1000); // код действия/обработка res.ok (jsonData) } '' Но я должен написать его для каждого действия. У меня есть опция configoutaion, чтобы перехватить таймаут по всему миру. –
Я обновил ответ! –
Все еще не нашел способ переопределить тайм-аут по всему миру ... Пробовал изменения http.js в промежуточном программном обеспечении (но без успеха). Есть ли другое решение? – EfiBN