JobQueue was not deleting jobs correctly due to incorrect lookup in monitor object

This commit is contained in:
Alex Holliday
2024-07-31 13:24:38 -07:00
parent 2a79264a9a
commit 9e51cffb67
2 changed files with 3 additions and 2 deletions

View File

@@ -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({

View File

@@ -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) {