M. A. Rehman

14 papers Journal 13Unranked 1
YearRankTypeTitle / Venue / Authors
2023 J jnl
IEEE Access
Amir Naseem, M. A. Rehman, Sania Qureshi, Nasr-Al-Din Ide
2022 J jnl
IEEE Access
Amir Naseem, M. A. Rehman, Thabet Abdeljawad
2022 J jnl
Complex.
Amir Naseem, M. A. Rehman, Nasr-Al-Din Ide
2021 J jnl
Complex.
Amir Naseem, M. A. Rehman, Jihad A. Younis
2021 J jnl
Intell. Autom. Soft Comput.
Amir Naseem, M. A. Rehman, Thabet Abdeljawad
2021 J jnl
Int. J. Comput. Math.
Nauman Ahmed, Alper Korkamaz, M. A. Rehman, Muhammad Rafiq, Mubasher Ali, Muhammad Ozair Ahmad
2021 J jnl
IEEE Access
Amir Naseem, M. A. Rehman, Thabet Abdeljawad, Yu-Ming Chu
2021 J jnl
IEEE Access
Amir Naseem, M. A. Rehman, Thabet Abdeljawad
2021 J jnl
IEEE Access
Amir Naseem, M. A. Rehman, Thabet Abdeljawad
2021 J jnl
IEEE Access
Amir Naseem, M. A. Rehman, Thabet Abdeljawad
2021 J jnl
Complex.
Amir Naseem, M. A. Rehman, Jihad A. Younis
2020 J jnl
Comput. Methods Programs Biomed.
Nauman Ahmed, Mubasher Ali, Muhammad Rafiq, Ilyas Khan, Kottakkaran Sooppy Nisar, M. A. Rehman, Muhammad Ozair Ahmad
2018 J jnl
Symmetry
Young Chel Kwun, Abaid ur Rehman Virk, Waqas Nazeer, M. A. Rehman, Shin Min Kang
2014 conf
ANT/SEIT
Anzar Mahmood, Ilyas Khan, Sohail Razzaq, Z. Najam, Naveed A. Khan, M. A. Rehman, Nadeem Javaid
redb/settings/elasticsearch.py
← Index redb/settings/elasticsearch.py python
import logging
import os

from elasticsearch import Elasticsearch
from dotenv import load_dotenv

load_dotenv()

# Elasticsearch configuration
ELASTIC_ENDPOINT = os.getenv("ELASTIC_HOST")
ELASTIC_ENFORCE_SSL = os.getenv("ELASTIC_ENFORCE_SSL", False) == "True"
ELASTIC_USER = os.getenv("ELASTIC_USER")
ELASTIC_PASSWORD = os.getenv("ELASTIC_PASSWORD")
ELASTIC_BINARIES_COLLECTION = os.getenv("ELASTIC_BINARIES_COLLECTION", "test_db")

# Cached client instance
_elasticsearch_client = None

def get_elasticsearch_client():
    """Get Elasticsearch client with lazy initialization and caching"""
    global _elasticsearch_client
    
    if _elasticsearch_client is None:
        if not ELASTIC_ENDPOINT:
            raise ValueError("ELASTIC_HOST environment variable is required for Elasticsearch connection")
            
        _elasticsearch_client = Elasticsearch(
            ELASTIC_ENDPOINT,
            verify_certs=ELASTIC_ENFORCE_SSL,
            basic_auth=(ELASTIC_USER, ELASTIC_PASSWORD),
            maxsize=20,
            retry_on_timeout=True,
            timeout=30,
        )
    
    return _elasticsearch_client

def create_elasticsearch_client():
    """Create a new Elasticsearch client connection (legacy function)"""
    return get_elasticsearch_client()