diff options
author | erin <sylphofelectricity@gmail.com> | 2017-12-12 13:19:33 -0600 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2017-12-12 20:19:33 +0100 |
commit | c986218c3a98564e38d68689150b33a6aa6c4b3a (patch) | |
tree | 0aad3a6f1223db2b7ff3dc34c1f95965709c7055 | |
parent | 0c8b1eb577f11d33c27f28afdfdac807b7e27845 (diff) |
Improve error handling in streaming/index.js (#5968)
On an unhandled worker exception, we should log the exception and exit with nonzero status, instead of letting workers silently fail and restarting them in an endless loop. Note: we previously tried to handle the `'error'` signal. That's not a signal Node fires; my patch traps `'uncaughtException'`, which is what the code was _trying_ to do.
-rw-r--r-- | streaming/index.js | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/streaming/index.js b/streaming/index.js index 31c597cf0..198eac1ae 100644 --- a/streaming/index.js +++ b/streaming/index.js @@ -563,12 +563,14 @@ const startWorker = (workerId) => { const onError = (err) => { log.error(err); + server.close(); + process.exit(0); }; process.on('SIGINT', onExit); process.on('SIGTERM', onExit); process.on('exit', onExit); - process.on('error', onError); + process.on('uncaughtException', onError); }; throng({ |