我有这个函数,下面的数据传递给这个函数返回一个ECONNRESET,套接字挂起错误.但是,当discountCode数组减少到只有10个对象时,它可以没有任何问题POST.
这个问题的原因是什么?我尝试通过分割Buffer中的数据来执行多个req.write(),但是这样做效果不好.任何NodeJs忍者都可以对这个问题有所了解吗?
createObj: function(data, address, port, callback) {
//console.log('Create Reward: '+JSON.stringify(data));
var post_data = JSON.stringify(data);
var pathName = '/me/api/v1/yyy/'+data.idBusinessClient+'/newObj';
//
var options = {
hostname: address,
port: port,
path: pathName,
method: 'POST',
headers: {
'Content-Type': 'application/json; charset=utf-8',
'Accept': 'application/json',
'Accept-Encoding': 'gzip,deflate,sdch',
'Accept-Language': 'en-US,en;q=0.8'
}
};
// http call to REST API server
var req = restHttp.request(options, function(res) {
console.log('HTTP API server PUT Reward response received.');
var resData = '';
res.on('data', function(replyData) {
// Check reply data for error.
console.log(replyData.toString('utf8'));
if(replyData …Run Code Online (Sandbox Code Playgroud) 正在寻找有关 Nodejs 集群和连接到 mysql 服务器的方法的建议。我们是为每个子进程打开一个连接还是只为所有进程打开一个连接?还是我们为所有子进程创建一个连接池?推荐的方法是什么?
单节点进程
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'example.org',
user : 'bob',
password : 'secret'
});
connection.connect(function(err) {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}
console.log('connected as id ' + connection.threadId);
});
Run Code Online (Sandbox Code Playgroud)
节点集群选项 1:
var cluster = require('cluster');
var http = require('http');
var numCPUs = require('os').cpus().length;
if (cluster.isMaster) {
// Fork workers.
for (var i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('exit', function(worker, code, signal) { …Run Code Online (Sandbox Code Playgroud)