Introduce a max age for quota locks

This commit is contained in:
Raphael Michel
2015-06-15 23:04:49 +02:00
parent 0eef88a700
commit c0c9098f38

View File

@@ -1,4 +1,4 @@
from datetime import datetime from datetime import datetime, timedelta
from itertools import product from itertools import product
import copy import copy
import uuid import uuid
@@ -1403,8 +1403,9 @@ class Quota(Versionable):
for i in range(retries): for i in range(retries):
dt = now() dt = now()
updated = Quota.objects.current.filter( updated = Quota.objects.current.filter(
identity=self.identity, locked__isnull=True, Q(identity=self.identity)
version_end_date__isnull=True & Q(Q(locked__lt=dt - timedelta(seconds=120)) | Q(locked__isnull=True))
& Q(version_end_date__isnull=True)
).update( ).update(
locked=dt locked=dt
) )