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:
|
||||
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:
|
||||
|
|
|
@ -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')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue