From 52df5341967ef294da75e5853d1c9a188088e5c1 Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Thu, 30 Jan 2014 17:18:48 -0700 Subject: [PATCH] chore(cluster): don't kill process until email sent --- src/utils.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/utils.js b/src/utils.js index b8a15cd26d..8e2b326936 100644 --- a/src/utils.js +++ b/src/utils.js @@ -3,7 +3,7 @@ var nconf = require('nconf'); var crypto = require('crypto'); var path = require("path"); -module.exports.sendEmail = function(mailData) { +module.exports.sendEmail = function(mailData, cb) { var smtpTransport = nodemailer.createTransport("SMTP",{ service: nconf.get('SMTP_SERVICE'), auth: { @@ -15,6 +15,7 @@ module.exports.sendEmail = function(mailData) { if(error) console.log(error); else console.log("Message sent: " + response.message); smtpTransport.close(); // shut down the connection pool, no more messages + if (cb) cb(); }); } @@ -69,15 +70,16 @@ module.exports.errorHandler = function(err, req, res, next) { "\n\nheaders: " + JSON.stringify(req.headers) + "\n\nbody: " + JSON.stringify(req.body) + (res.locals.ops ? "\n\ncompleted ops: " + JSON.stringify(res.locals.ops) : ""); + var shortMessage = (err.message.length < 200) ? err.message : + err.message.substring(0,100) + err.message.substring(err.message.length-100,err.message.length); + res.json(500,{err:shortMessage}); //res.end(err.message); + console.error(stack); module.exports.sendEmail({ from: "HabitRPG <" + nconf.get('SMTP_USER') + ">", to: nconf.get('ADMIN_EMAIL') || nconf.get('SMTP_USER'), subject: "HabitRPG Error", text: stack + }, function(){ + process.exit(0); }); - console.error(stack); - var shortMessage = (err.message.length < 200) ? err.message : - err.message.substring(0,100) + err.message.substring(err.message.length-100,err.message.length); - res.json(500,{err:shortMessage}); //res.end(err.message); - process.exit(0); } \ No newline at end of file