From 9e51cffb677a3e32af8c957cf7d4530071d4e6fc Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Wed, 31 Jul 2024 13:24:38 -0700 Subject: [PATCH] JobQueue was not deleting jobs correctly due to incorrect lookup in monitor object --- Server/controllers/monitorController.js | 3 ++- Server/service/jobQueue.js | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Server/controllers/monitorController.js b/Server/controllers/monitorController.js index b6317fa35..07ec3ced5 100644 --- a/Server/controllers/monitorController.js +++ b/Server/controllers/monitorController.js @@ -233,9 +233,10 @@ const editMonitor = async (req, res, next) => { } try { + const jobBeforeEdit = await req.db.getMonitorById(req, res); const editedMonitor = await req.db.editMonitor(req, res); // Delete the old job(editedMonitor has the same ID as the old monitor) - await req.jobQueue.deleteJob(editedMonitor); + await req.jobQueue.deleteJob(jobBeforeEdit); // Add the new job back to the queue await req.jobQueue.addJob(editedMonitor._id, editedMonitor); return res.status(200).json({ diff --git a/Server/service/jobQueue.js b/Server/service/jobQueue.js index 035cbdb4a..92b7b6aab 100644 --- a/Server/service/jobQueue.js +++ b/Server/service/jobQueue.js @@ -231,7 +231,7 @@ class JobQueue { */ async deleteJob(monitor) { try { - const deleted = await this.queue.removeRepeatable(monitor.id, { + const deleted = await this.queue.removeRepeatable(monitor._id, { every: monitor.interval, }); if (deleted) {