From 94d8fd80d53c2f64b425cc75f4a02003de6e9b8f Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Wed, 23 Mar 2022 07:12:00 +0100 Subject: [PATCH 4/9] misc: factorize setting of the availability status --- passerelle/base/models.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/passerelle/base/models.py b/passerelle/base/models.py index 62c8c4fc..76c9f656 100644 --- a/passerelle/base/models.py +++ b/passerelle/base/models.py @@ -491,21 +491,20 @@ class BaseResource(models.Model): if not self.availability_parameters.run_check: return - availability_parameters = self.availability_parameters - try: with self.logger.disable_admin_emails(): self.check_status() - status = 'up' - message = '' except NotImplementedError: return except Exception as e: from passerelle.utils.conversion import exception_to_text - status = 'down' - message = exception_to_text(e)[:500] + self.set_availability('down', message=exception_to_text(e)[:500]) + else: + self.set_availability_status('up') + def set_availability_status(self, status, message=''): + availability_parameters = self.availability_parameters resource_type = ContentType.objects.get_for_model(self) current_status = ResourceStatus.objects.filter( resource_type=resource_type, resource_pk=self.pk -- 2.35.1