У меня есть приложение, которое запускает https-запросы сторонним сервисам для ведения журнала. По какой-то причине я заметил несколько часов назад, что третья сторона отказывается от соединений. Это другая тема.
В моем приложении node.js я замечаю, что, несмотря на то, что запросы создаются динамически и поэтому не должны зависать во всем приложении, они есть.
После перезапуска процесса запрос https зависает, а затем умирает с ошибкой отказа в соединении. Пример кода ниже.
var logger = function(data){
var req = https.request({
host: 'logs.loggly.com',
port: 443,
path: '/inputs/<my real key is here, removed obviously>',
method: 'POST',
headers:{
'content-type': 'application/json'
}
}, function(res){
var body = [];
res.on('chunk', function(data){
body.push(data);
});
res.on('end', function(){
console.log(body.join(''));
})
});
req.write(JSON.stringify(data));
req.end();
}
И это называется просто:
logger({ 'test': 'datafoo' });
Так что мне любопытно, почему соединение отклонено / тайм-аут из-за этого исходящего https-запроса должен зависнуть, а затем завершить работу всего приложения.
Спасибо!