Handle unhandledRejection events

Because in Nodejs 12-14 unhandled rejections don't trigger uncaughtException
event by default so the process doesn't exit in case of errors.
This commit is contained in:
Zaid Humaimidi committed 2023-08-09 19:51:40 -07:00
1 parent 7b8a49a7ba
commit a54b2c8cd6
5 files changed
+25

No files matched your search

+5
View File
@@ -88,6 +88,11 @@ if (!cluster.worker) {
keepAliveTimeout: 0, keepAliveTimeout: 0,
}; };
// Need this for Node < 15
process.on("unhandledRejection", (err) => {
throw err;
});
process.on("uncaughtException", (err) => { process.on("uncaughtException", (err) => {
if ((err as NodeJS.ErrnoException).code === "ERR_IPC_DISCONNECTED") return; if ((err as NodeJS.ErrnoException).code === "ERR_IPC_DISCONNECTED") return;
logger.error({ logger.error({
+5
View File
@@ -54,6 +54,11 @@ function errorToFault(err: Error): Fault {
return fault; return fault;
} }
// Need this for Node < 15
process.on("unhandledRejection", (err) => {
throw err;
});
process.on("uncaughtException", (err) => { process.on("uncaughtException", (err) => {
const fault = errorToFault(err); const fault = errorToFault(err);
jobs.forEach((jobId) => { jobs.forEach((jobId) => {
+5
View File
@@ -79,6 +79,11 @@ if (!cluster.worker) {
timeout: 30000, timeout: 30000,
}; };
// Need this for Node < 15
process.on("unhandledRejection", (err) => {
throw err;
});
process.on("uncaughtException", (err) => { process.on("uncaughtException", (err) => {
if ((err as NodeJS.ErrnoException).code === "ERR_IPC_DISCONNECTED") return; if ((err as NodeJS.ErrnoException).code === "ERR_IPC_DISCONNECTED") return;
logger.error({ logger.error({
+5
View File
@@ -84,6 +84,11 @@ if (!cluster.worker) {
timeout: 30000, timeout: 30000,
}; };
// Need this for Node < 15
process.on("unhandledRejection", (err) => {
throw err;
});
process.on("uncaughtException", (err) => { process.on("uncaughtException", (err) => {
if ((err as NodeJS.ErrnoException).code === "ERR_IPC_DISCONNECTED") return; if ((err as NodeJS.ErrnoException).code === "ERR_IPC_DISCONNECTED") return;
logger.error({ logger.error({
+5
View File
@@ -84,6 +84,11 @@ if (!cluster.worker) {
timeout: 30000, timeout: 30000,
}; };
// Need this for Node < 15
process.on("unhandledRejection", (err) => {
throw err;
});
process.on("uncaughtException", (err) => { process.on("uncaughtException", (err) => {
if ((err as NodeJS.ErrnoException).code === "ERR_IPC_DISCONNECTED") return; if ((err as NodeJS.ErrnoException).code === "ERR_IPC_DISCONNECTED") return;
logger.error({ logger.error({