fixed handling of locks via redis during mapupdates

This commit is contained in:
Jenny Danzmayr 2023-12-07 01:26:32 +01:00
parent 1feb608106
commit ae65a68830
2 changed files with 9 additions and 2 deletions

View file

@ -117,7 +117,8 @@ class MapUpdate(models.Model):
if settings.HAS_REDIS:
import redis
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:
lock_aquired = lock.acquire(blocking=False, blocking_timeout=1800)
if not lock_aquired:

View file

@ -1,5 +1,6 @@
# c3nav settings, mostly taken from the pretix project
import os
import re
import string
import sys
from contextlib import suppress
@ -248,11 +249,14 @@ if HAS_MEMCACHED:
SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"
HAS_REDIS = bool(config.get('redis', 'location', fallback=None, env='C3NAV_REDIS'))
REDIS_CONNECTION_POOL = None
if HAS_REDIS:
import redis
HAS_REAL_CACHE = True
REDIS_SERVERS = re.split("[;,]", config.get('redis', 'location', env='C3NAV_REDIS'))
CACHES['redis'] = {
"BACKEND": "django.core.cache.backends.redis.RedisCache",
"LOCATION": config.get('redis', 'location', env='C3NAV_REDIS'),
"LOCATION": REDIS_SERVERS,
}
if not HAS_MEMCACHED:
CACHES['default'] = CACHES['redis']
@ -260,6 +264,8 @@ if HAS_REDIS:
else:
SESSION_CACHE_ALIAS = "redis"
REDIS_CONNECTION_POOL = redis.ConnectionPool.from_url(REDIS_SERVERS[0])
HAS_CELERY = bool(config.get('celery', 'broker', fallback=None))
if HAS_CELERY:
BROKER_URL = config.get('celery', 'broker')