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