From c0c9098f381717b3a0d422c6251182b852834023 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Mon, 15 Jun 2015 23:04:49 +0200 Subject: [PATCH] Introduce a max age for quota locks --- src/pretix/base/models.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/pretix/base/models.py b/src/pretix/base/models.py index f9d818b1f6..8c8731b2ba 100644 --- a/src/pretix/base/models.py +++ b/src/pretix/base/models.py @@ -1,4 +1,4 @@ -from datetime import datetime +from datetime import datetime, timedelta from itertools import product import copy import uuid @@ -1403,8 +1403,9 @@ class Quota(Versionable): for i in range(retries): dt = now() updated = Quota.objects.current.filter( - identity=self.identity, locked__isnull=True, - version_end_date__isnull=True + Q(identity=self.identity) + & Q(Q(locked__lt=dt - timedelta(seconds=120)) | Q(locked__isnull=True)) + & Q(version_end_date__isnull=True) ).update( locked=dt )