반응형
nodejs 요청 기본 제한 시간을 수정하는 방법은 무엇입니까?
Node / express 서버를 사용하고 있습니다. Express의 기본 제한 시간은 120,000ms이지만 나에게는 충분하지 않습니다. 내 응답이 120,000ms에 도달하면 콘솔이 기록 POST /additem 200 120006ms
되고 페이지에 오류가 표시되므로 시간 제한을 더 큰 값으로 설정하고 싶습니다. 어떻게할까요?
express
귀하의 질문에 대한 로그가 주어지면을 사용하고 있다고 가정합니다 . 핵심은 timeout
서버에 속성 을 설정하는 것입니다 (다음은 제한 시간을 1 초로 설정하고 원하는 값을 사용합니다).
var server = app.listen(app.get('port'), function() {
debug('Express server listening on port ' + server.address().port);
});
server.timeout = 1000;
Express를 사용하지 않고 바닐라 노드로만 작업하는 경우 원칙은 동일합니다. 다음은 데이터를 반환하지 않습니다.
var http = require('http');
var server = http.createServer(function (req, res) {
setTimeout(function() {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}, 200);
}).listen(1337, '127.0.0.1');
server.timeout = 20;
console.log('Server running at http://127.0.0.1:1337/');
이 시도:
var options = {
url: 'http://url',
timeout: 120000
}
request(options, function(err, resp, body) {});
다른 옵션은 요청 문서를 참조하십시오 .
특정 요청에 대해 DB 또는 다른 서버에서 응답을받을 때까지 timeOut을 0으로 설정할 수 있습니다.
request.setTimeout(0)
에 구성이있는 bin/www
경우 http 서버 생성 후 timeout 매개 변수를 추가하기 만하면됩니다.
var server = http.createServer(app);
/**
* Listen on provided port, on all network interfaces
*/
server.listen(port);
server.timeout=yourValueInMillisecond
최신 NodeJS를 사용하면이 원숭이 패치를 실험 할 수 있습니다.
const http = require("http");
const originalOnSocket = http.ClientRequest.prototype.onSocket;
require("http").ClientRequest.prototype.onSocket = function(socket) {
const that = this;
socket.setTimeout(this.timeout ? this.timeout : 3000);
socket.on('timeout', function() {
that.abort();
});
originalOnSocket.call(this, socket);
};
참고 URL : https://stackoverflow.com/questions/23925284/how-to-modify-the-nodejs-request-default-timeout-time
반응형
'development' 카테고리의 다른 글
탭으로 구분 된 파일 행을 배열로 읽습니다. (0) | 2020.12.07 |
---|---|
IList 변수에 항목 범위를 추가하는 방법 (0) | 2020.12.07 |
Pandas 데이터 프레임 열의 일부 값을 다른 값으로 바꾸기 (0) | 2020.12.07 |
반복 암호를 확인하는 Angular 2 양식 (0) | 2020.12.07 |
Xcode에 개발 팀이 표시되지 않음 (0) | 2020.12.07 |