diff --git a/netbox/core/models/jobs.py b/netbox/core/models/jobs.py index 878fc5411..4427bb7ff 100644 --- a/netbox/core/models/jobs.py +++ b/netbox/core/models/jobs.py @@ -185,12 +185,15 @@ class Job(models.Model): return f"{int(minutes)} minutes, {seconds:.2f} seconds" def delete(self, *args, **kwargs): - super().delete(*args, **kwargs) - # Use the stored queue name, or fall back to get_queue_for_model for legacy jobs rq_queue_name = self.queue_name or get_queue_for_model(self.object_type.model if self.object_type else None) + rq_job_id = str(self.job_id) + + super().delete(*args, **kwargs) + + # Cancel the RQ job using the stored queue name queue = django_rq.get_queue(rq_queue_name) - job = queue.fetch_job(str(self.job_id)) + job = queue.fetch_job(rq_job_id) if job: try: