Revision bf46214d
b/snf-astakos-app/astakos/im/lock.py | ||
---|---|---|
34 | 34 |
from django.db import transaction |
35 | 35 |
from django.db import connection |
36 | 36 |
from time import sleep |
37 |
import logging |
|
38 |
|
|
39 |
logger = logging.getLogger(__name__) |
|
40 |
|
|
37 | 41 |
|
38 | 42 |
def with_lock(retries=3, retry_wait=1.0): |
39 | 43 |
def wrap(func): |
... | ... | |
64 | 68 |
|
65 | 69 |
finally: |
66 | 70 |
if locked: |
71 |
try: |
|
72 |
transaction.commit() |
|
73 |
except Exception as e: |
|
74 |
logger.exception(e) |
|
75 |
transaction.rollback() |
|
76 |
|
|
67 | 77 |
cursor.execute("SELECT pg_advisory_unlock(1)") |
68 | 78 |
cursor.fetchall() |
69 | 79 |
return inner |
Also available in: Unified diff