From da941ba59656c72e4282e6b8b2a4e90941335e09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Zaoral?= Date: Thu, 24 Aug 2023 08:04:04 +0200 Subject: [PATCH] hub: decorate Task.save with transaction.atomic ... to ensure that the task and its parent are updated atomically. --- kobo/hub/models.py | 1 + 1 file changed, 1 insertion(+) diff --git a/kobo/hub/models.py b/kobo/hub/models.py index c410b937..456b602c 100644 --- a/kobo/hub/models.py +++ b/kobo/hub/models.py @@ -605,6 +605,7 @@ def __str__(self): return u"#%s [method: %s, state: %s, worker: %s, parent: #%s]" % (self.id, self.method, self.get_state_display(), self.worker, self.parent.id) return u"#%s [method: %s, state: %s, worker: %s]" % (self.id, self.method, self.get_state_display(), self.worker) + @transaction.atomic def save(self, *args, **kwargs): if self.id is not None: self.subtask_count = self.subtasks().count()