Skip to content
Snippets Groups Projects
Commit 8e64c2d3 authored by Erik Reid's avatar Erik Reid
Browse files

save & restore latch after flushing db

parent a1a74aca
No related branches found
No related tags found
No related merge requests found
......@@ -131,7 +131,7 @@ def get_next_redis(config):
next_id = latch['next']
else:
db_ids = sorted(set(config['redis-databases']))
next_id = db_ids[0] if len(db_ids) == 1 else db_ids[1]
next_id = db_ids[1 % len(db_ids)]
logger.debug(
'get_next_redis[3], next db not configured, '
'derived next id: {}'.format(next_id))
......
......@@ -12,7 +12,8 @@ from lxml import etree
import jsonschema
from inventory_provider.tasks.app import app
from inventory_provider.tasks.common import get_next_redis, latch_db
from inventory_provider.tasks.common \
import get_next_redis, latch_db, get_latch, set_latch
from inventory_provider import config
from inventory_provider import environment
from inventory_provider.db import db, opsdb
......@@ -438,6 +439,16 @@ def _derive_router_hostnames(config):
return junosspace_equipment & opsdb_equipment
def _erase_next_db(config):
r = get_next_redis(config)
saved_latch = get_latch(r)
r.flushdb()
if saved_latch:
set_latch(
config,
new_current=saved_latch['current'],
new_next=saved_latch['next'])
def launch_refresh_cache_all(config):
"""
utility function intended to be called outside of the worker process
......@@ -446,8 +457,7 @@ def launch_refresh_cache_all(config):
"""
logger = logging.getLogger(__name__)
r = get_next_redis(config)
r.flushdb()
_erase_next_db(config)
# first batch of subtasks: refresh cached opsdb data
subtasks = [
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment