diff --git a/netbox/core/models/jobs.py b/netbox/core/models/jobs.py index d823a941b..fab4e00a0 100644 --- a/netbox/core/models/jobs.py +++ b/netbox/core/models/jobs.py @@ -140,7 +140,7 @@ class Job(models.Model): # Start the job self.started = timezone.now() self.status = JobStatusChoices.STATUS_RUNNING - Job.objects.filter(pk=self.pk).update(started=self.started, status=self.status) + self.save() # Handle webhooks self.trigger_webhooks(event=EVENT_JOB_START) @@ -156,7 +156,7 @@ class Job(models.Model): # Mark the job as completed self.status = status self.completed = timezone.now() - Job.objects.filter(pk=self.pk).update(status=self.status, completed=self.completed) + self.save() # Handle webhooks self.trigger_webhooks(event=EVENT_JOB_END) diff --git a/netbox/extras/reports.py b/netbox/extras/reports.py index 00579f4e8..ed886f425 100644 --- a/netbox/extras/reports.py +++ b/netbox/extras/reports.py @@ -195,8 +195,6 @@ class Report(object): Run the report and save its results. Each test method will be executed in order. """ self.logger.info(f"Running report") - job.status = JobStatusChoices.STATUS_RUNNING - job.save() # Perform any post-run tasks self.pre_run() @@ -218,6 +216,7 @@ class Report(object): logger.error(f"Exception raised during report execution: {e}") job.terminate(status=JobStatusChoices.STATUS_ERRORED) finally: + job.data = self._results job.terminate() # Perform any post-run tasks