From 76fef8ab8d7bf51439ca800b27b29a7b4488f399 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 17 Jul 2015 13:07:16 -0400 Subject: [PATCH] Don't error out when trying to delete a non existant periodic task. --- mayan/apps/sources/models.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/mayan/apps/sources/models.py b/mayan/apps/sources/models.py index 87a960bcab..4109314fc6 100644 --- a/mayan/apps/sources/models.py +++ b/mayan/apps/sources/models.py @@ -194,15 +194,18 @@ class IntervalBaseModel(OutOfProcessSource): return 'check_interval_source-%i' % (pk or self.pk) def _delete_periodic_task(self, pk=None): - periodic_task = PeriodicTask.objects.get(name=self._get_periodic_task_name(pk)) + try: + periodic_task = PeriodicTask.objects.get(name=self._get_periodic_task_name(pk)) - interval_instance = periodic_task.interval + interval_instance = periodic_task.interval - if tuple(interval_instance.periodictask_set.values_list('id', flat=True)) == (periodic_task.pk,): - # Only delete the interval if nobody else is using it - interval_instance.delete() - else: - periodic_task.delete() + if tuple(interval_instance.periodictask_set.values_list('id', flat=True)) == (periodic_task.pk,): + # Only delete the interval if nobody else is using it + interval_instance.delete() + else: + periodic_task.delete() + except PeriodicTask.DoesNotExist: + logger.warning('Tried to delete non existant periodic task "%s"', self._get_periodic_task_name(pk)) def save(self, *args, **kwargs): new_source = not self.pk