2015-03-20 7 views
0

Я получаю сообщение «Ошибка: попытка открыть незамкнутое соединение,», но я не верю, что это связано с проблемой db ... и вот почему я в тупик. Большинство решений этой ошибки, проблемы с ссылкой на db.Node.js: «При попытке открыть закрытое соединение» при вызове метода из дочернего процесса

Моя цель здесь - выполнить внешний процесс. Если процесс закрывается чем-то другим, кроме кода выхода 0, я хочу отправить сообщение по электронной почте, например.

Я использовал child.on («закрыть», функция (код) .... чтобы получить значение выхода из внешнего процесса (возвращается как «код») Так что если код! = 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

Я предполагаю, что был неправ. Я изменил mongoose.connect на mongoose.createConnection, и эта конкретная ошибка исчезла ... но, к сожалению, у меня осталось больше ошибок. Я открою главный вопрос в другой теме.

 Смежные вопросы

  • Нет связанных вопросов^_^