在express框架里,使用了request发送了大量的psot请求,发现进程第二天挂掉了 代码是这样的: var request = require('request'); request({ url: url, //url类似http://XX.XX.XX.XX:8765 metgod: 'post', body: JSON.stringify(params) //post的数据 }, function(err, response, body){ return callback(err, response, body); //在回调里处理结果 });
找了下相关资料,有的说是因为没有写头部
headers: {
'Content-Type':'application/x-www-form-urlencoded',
'Content-Length': data.length
}
但是不写头部也能正常得到返回的结果,只是有时候会出现“socket hang up”的错误
而且也不能导致进程挂掉啊~~~
于是自己写了个守护进程,当进程挂掉后,会自动重启,4天后发现进程是正常启动的,但是缺访问不了网站了
于是有一下几个疑问:
1、使用http.request和request有什么区别嘛,之前用过require('http');
2、为什么进程会挂掉,是因为没加头部,或者是因为没有 req.end()
3、进程挂掉,是因为缓存或者log太多的原因吗?感觉很不稳定,除了守护进程外,有没有其他办法?