jobs.py 1.15 KiB
import logging
from flask import Blueprint, Response, current_app
from inventory_provider import router_details
from inventory_provider.tasks.app import app
from inventory_provider.constants import TASK_LOGGER_NAME
routes = Blueprint("inventory-data-job-routes", __name__)
@routes.route("/update", methods=['GET', 'POST'])
def update():
task_logger = logging.getLogger(TASK_LOGGER_NAME)
config = current_app.config["INVENTORY_PROVIDER_CONFIG"]
for r in config["routers"]:
task_logger.info("fetching details for: %r" % r)
task_logger.debug(
'launching task: '
'inventory_provider.tasks.worker.netconf_refresh_config'
'(%s)' % r['hostname'])
app.send_task(
'inventory_provider.tasks.worker.netconf_refresh_config',
args=[r["hostname"]])
task_logger.debug(
'launching task: '
'inventory_provider.tasks.worker.snmp_refresh_interfaces'
'(%s)' % r['hostname'])
app.send_task(
'inventory_provider.tasks.worker.snmp_refresh_interfaces',
args=[r["hostname"], r["community"]])
return Response("OK")