- Tasks Email Queue

Signed-off-by: Dave Richer <dave@imexsystems.ca>
This commit is contained in:
Dave Richer
2024-04-17 20:14:21 -04:00
parent b8c34762ed
commit 00b91616f5
2 changed files with 33 additions and 23 deletions

View File

@@ -30,6 +30,38 @@ const transporter = nodemailer.createTransport({
// Initialize the Tasks Email Queue
const tasksEmailQueue = taskEmailQueue();
// Cleanup function for the Tasks Email Queue
const tasksEmailQueueCleanup = async () => {
try {
// Example async operation
console.log("Performing Tasks Email Reminder process cleanup...");
await new Promise((resolve) => tasksEmailQueue.destroy(() => resolve()));
} catch (err) {
console.error("Tasks Email Reminder process cleanup failed:", err);
}
};
// Handling SIGINT (e.g., Ctrl+C)
process.on("SIGINT", async () => {
await tasksEmailQueueCleanup();
process.exit(0);
});
// Handling SIGTERM (e.g., sent by system shutdown)
process.on("SIGTERM", async () => {
await tasksEmailQueueCleanup();
process.exit(0);
});
// Handling uncaught exceptions
process.on("uncaughtException", async (err) => {
await tasksEmailQueueCleanup();
process.exit(1); // Exit with an 'error' code
});
// Handling unhandled promise rejections
process.on("unhandledRejection", async (reason, promise) => {
await tasksEmailQueueCleanup();
process.exit(1); // Exit with an 'error' code
});
const fromEmails = InstanceManager({
imex: "ImEX Online <noreply@imex.online>",
rome: "Rome Online <noreply@romeonline.io>",
@@ -211,7 +243,7 @@ const tasksRemindEmail = async (req, res) => {
// Send Email
sendMail("remind", emailData.to, emailData.subject, emailData.html, taskIds, (taskIds) => {
for (const taskId of taskIds) {
taskEmailQueue.push(taskId);
tasksEmailQueue.push(taskId);
}
});
}