fixed handling of locks via redis during mapupdates
This commit is contained in:
parent
1feb608106
commit
ae65a68830
2 changed files with 9 additions and 2 deletions
|
@ -117,7 +117,8 @@ class MapUpdate(models.Model):
|
||||||
if settings.HAS_REDIS:
|
if settings.HAS_REDIS:
|
||||||
import redis
|
import redis
|
||||||
lock_aquired = None
|
lock_aquired = None
|
||||||
lock = redis.Redis().lock('mapupdate:process_updates:lock')
|
client = redis.Redis(connection_pool=settings.REDIS_CONNECTION_POOL)
|
||||||
|
lock = client.lock('mapupdate:process_updates:lock')
|
||||||
try:
|
try:
|
||||||
lock_aquired = lock.acquire(blocking=False, blocking_timeout=1800)
|
lock_aquired = lock.acquire(blocking=False, blocking_timeout=1800)
|
||||||
if not lock_aquired:
|
if not lock_aquired:
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# c3nav settings, mostly taken from the pretix project
|
# c3nav settings, mostly taken from the pretix project
|
||||||
import os
|
import os
|
||||||
|
import re
|
||||||
import string
|
import string
|
||||||
import sys
|
import sys
|
||||||
from contextlib import suppress
|
from contextlib import suppress
|
||||||
|
@ -248,11 +249,14 @@ if HAS_MEMCACHED:
|
||||||
SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"
|
SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"
|
||||||
|
|
||||||
HAS_REDIS = bool(config.get('redis', 'location', fallback=None, env='C3NAV_REDIS'))
|
HAS_REDIS = bool(config.get('redis', 'location', fallback=None, env='C3NAV_REDIS'))
|
||||||
|
REDIS_CONNECTION_POOL = None
|
||||||
if HAS_REDIS:
|
if HAS_REDIS:
|
||||||
|
import redis
|
||||||
HAS_REAL_CACHE = True
|
HAS_REAL_CACHE = True
|
||||||
|
REDIS_SERVERS = re.split("[;,]", config.get('redis', 'location', env='C3NAV_REDIS'))
|
||||||
CACHES['redis'] = {
|
CACHES['redis'] = {
|
||||||
"BACKEND": "django.core.cache.backends.redis.RedisCache",
|
"BACKEND": "django.core.cache.backends.redis.RedisCache",
|
||||||
"LOCATION": config.get('redis', 'location', env='C3NAV_REDIS'),
|
"LOCATION": REDIS_SERVERS,
|
||||||
}
|
}
|
||||||
if not HAS_MEMCACHED:
|
if not HAS_MEMCACHED:
|
||||||
CACHES['default'] = CACHES['redis']
|
CACHES['default'] = CACHES['redis']
|
||||||
|
@ -260,6 +264,8 @@ if HAS_REDIS:
|
||||||
else:
|
else:
|
||||||
SESSION_CACHE_ALIAS = "redis"
|
SESSION_CACHE_ALIAS = "redis"
|
||||||
|
|
||||||
|
REDIS_CONNECTION_POOL = redis.ConnectionPool.from_url(REDIS_SERVERS[0])
|
||||||
|
|
||||||
HAS_CELERY = bool(config.get('celery', 'broker', fallback=None))
|
HAS_CELERY = bool(config.get('celery', 'broker', fallback=None))
|
||||||
if HAS_CELERY:
|
if HAS_CELERY:
|
||||||
BROKER_URL = config.get('celery', 'broker')
|
BROKER_URL = config.get('celery', 'broker')
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue