# -*- coding:utf-8 -*- import json import time from flask import current_app import api.lib.cmdb.ci from api.extensions import celery from api.extensions import db from api.extensions import rd from api.extensions import es from api.lib.cmdb.const import CMDB_QUEUE @celery.task(name="cmdb.ci_cache", queue=CMDB_QUEUE) def ci_cache(ci_id): time.sleep(0.1) db.session.close() m = api.lib.cmdb.ci.CIManager() ci = m.get_ci_by_id_from_db(ci_id, need_children=False, use_master=False) if current_app.config.get("USE_ES"): es.update(ci_id, ci) else: rd.delete(ci_id) rd.add({ci_id: json.dumps(ci)}) current_app.logger.info("%d flush.........." % ci_id) @celery.task(name="cmdb.ci_delete", queue=CMDB_QUEUE) def ci_delete(ci_id): current_app.logger.info(ci_id) if current_app.config.get("USE_ES"): es.delete(ci_id) else: rd.delete(ci_id) current_app.logger.info("%d delete.........." % ci_id)