-
Robert Latta authoredRobert Latta authored
ims_worker.py 978 B
import csv
import json
import logging
import subprocess
import tempfile
from datetime import datetime
from pathlib import Path
from inventory_provider.db import ims_data
from inventory_provider.db.ims import IMS
from inventory_provider import environment
from inventory_provider.tasks.app import app
from inventory_provider.tasks.common import get_next_redis
from inventory_provider.tasks.worker import InventoryTask
environment.setup_logging()
logger = logging.getLogger(__name__)
@app.task(base=InventoryTask, bind=True)
def update_lg_routers_ims(self):
logger.debug('>>> update_lg_routers_ims - MOVED')
r = get_next_redis(InventoryTask.config)
for k in r.scan_iter('ims:lg:*'):
r.delete(k)
c = InventoryTask.config["ims"]
ds = IMS(c['api'], c['username'], c['password'])
for router in ims_data.lookup_lg_routers(ds):
r.set(f'ims:lg:{router["equipment name"]}', json.dumps(router))
logger.debug('<<< update_lg_routers_ims')