我收到了“错误:尝试打开未关闭的连接,”,但我不相信这是由于数据库问题......这就是我为什么难过的原因。此错误的大多数解决方案,参考数据库连接问题。
我的目标是执行外部流程。如果进程以退出代码0以外的任何其他方式关闭,我想通过电子邮件发送警报。
我正在使用 child.on('close',函数(代码) ....来获取外部进程的退出值(以“代码”的形式返回)所以如果< strong> code!= 0 我想做点什么......可能会重新运行测试...也许会调用另一种发送电子邮件的方法等。
每当我尝试从 child.on('close')中调用方法时,我会收到错误“尝试打开未关闭的连接。”其中这就是为什么我也在同一个块中处理保存操作。
代码示例:
var spawn = require('child_process').spawn,
child = spawn('sipp', ['-s', dnis,server, '-sn', scenario, '-m', '1','-i','127.0.0.1','-recv_timeout','1000']);
}
child.on('close',function(code){
if(code != 0){
Call().emailAlert(dnis, server, scenario, type, carrier);
}
var TestResults = mongoose.model('test_results', TestResultsSchema);
// Saving results to MongoDB
var result = new TestResults({
testType: type,
dnis: dnis,
server: server,
result: code,
carrier: carrier,
date: Date.now()
});
result.save(function (err) {if (!err) {console.log ('Successful Save!')}
else{console.log(err)}});
});
};
如果我删除:
if(code != 0){
Call().emailAlert(dnis, server, scenario, type, carrier);
}
错误消失了。我最好的方法是捕获进程的退出代码,并在此基础上调用Node.js中的其他方法(即通过电子邮件发送警报)?
答案 0 :(得分:0)
我想我错了。我将mongoose.connect更改为 mongoose.createConnection ,这个特定的错误消失了......但遗憾的是我还有更多的错误。我将在另一个主题中打开主要问题。