W. C. Wong

11 papers B 1Journal 7Unranked 3
YearRankTypeTitle / Venue / Authors
2005 conf
ITCC (2)
W. C. Wong, Eric Moy, Mohammad Eyadat
2002 conf
ICON
Y. F. Wong, W. C. Wong
2001 J jnl
IEEE Trans. Very Large Scale Integr. Syst.
Philip Heng Wai Leong, Chiu-Wing Sham, W. C. Wong, H. Y. Wong, Wing Seung Yuen, Monk-Ping Leong
2001 conf
ICON
Shuangquan Min, H. K. Pung, W. C. Wong
2001 J jnl
Wirel. Pers. Commun.
S. H. Lau, W. C. Wong
2001 J jnl
Wirel. Pers. Commun.
H. M. Tan, W. C. Wong, Hari Krishna Garg, X. H. Chen
2000 B conf
MobiHoc
V. N. Muthiah, W. C. Wong
1999 J jnl
IEEE Commun. Lett.
W. S. Tian, W. C. Wong, C. Y. Law, A. P. Tan
1993 J jnl
Comput. Commun.
Chi Chung Ko, W. C. Wong, J. L. Du, Robert H. Deng, Kin Mun Lye
1990 J jnl
Comput. Commun.
Kin Mun Lye, Fa Toh Yap, W. C. Wong
1990 J jnl
Comput. Commun.
W. C. Wong, Kin Mun Lye, Chi Chung Ko
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()