from datetime import datetime from django.conf import settings from elasticsearch import Elasticsearch from core.util import logs log = logs.get_logger(__name__) client = None def initialise_elasticsearch(): """ Initialise the Elasticsearch client. """ auth = (settings.ELASTICSEARCH_USERNAME, settings.ELASTICSEARCH_PASSWORD) client = Elasticsearch( settings.ELASTICSEARCH_HOST, http_auth=auth, verify_certs=False ) return client def store_msg(index, msg): global client if not client: client = initialise_elasticsearch() if "ts" not in msg: msg["ts"] = datetime.utcnow().isoformat() result = client.index(index=index, body=msg) if not result["result"] == "created": log.error(f"Indexing of '{msg}' failed: {result}")