Katherine Heinrich

30 papers Journal 30
YearRankTypeTitle / Venue / Authors
2000 J jnl
J. Graph Theory
Peter Horák, Katherine Heinrich
1999 J jnl
J. Comb. Theory A
Iliya Bluskov, Katherine Heinrich
1999 J jnl
Discret. Math.
Katherine Heinrich, Jianxing Yin
1998 J jnl
J. Comb. Theory B
Katherine Heinrich, Jiping Liu, Cun-Quan Zhang
1996 J jnl
Ars Comb.
Katherine Heinrich, Midori Kobayashi, Gisaku Nakamura
1996 J jnl
J. Graph Theory
Katherine Heinrich, P. Horak, Walter D. Wallis, Qinglin Yu
1995 J jnl
J. Graph Theory
Katherine Heinrich, Peter Horák
1992 J jnl
J. Parallel Distributed Comput.
Charles J. Colbourn, Katherine Heinrich
1992 J jnl
Discret. Appl. Math.
Katherine Heinrich, Kichul Kim, Viktor K. Prasanna
1991 J jnl
J. Graph Theory
Brian Alspach, C. C. Chen, Katherine Heinrich
1991 J jnl
Discret. Math.
Katherine Heinrich, Midori Kobayashi, Gisaku Nakamura
1991 J jnl
Discret. Math.
Katherine Heinrich, Lisheng Wu, Lie Zhu
1991 J jnl
Discret. Math.
Katherine Heinrich
1990 J jnl
Discret. Math.
Katherine Heinrich, Pavol Hell, David G. Kirkpatrick, Guizhen Liu
1990 J jnl
J. Graph Theory
Katherine Heinrich
1990 J jnl
Eur. J. Comb.
Jean-Claude Bermond, Katherine Heinrich, Min-Li Yu
1990 J jnl
Australas. J Comb.
Brian Alspach, Katherine Heinrich
1990 J jnl
Eur. J. Comb.
Jean-Claude Bermond, Katherine Heinrich, Min-Li Yu
1989 J jnl
SIAM Rev.
Katherine Heinrich
1989 J jnl
Graphs Comb.
James Burling, Katherine Heinrich
1989 J jnl
Discret. Math.
Katherine Heinrich, Peter Horák, Alexander Rosa
1988 J jnl
J. Graph Theory
Katherine Heinrich, Guizhen Liu
1988 J jnl
J. Comb. Theory A
Katherine Heinrich, Charles Curtis Lindner, Christopher A. Rodger
1987 J jnl
J. Comb. Theory A
Katherine Heinrich, Gillian M. Nonay
1987 J jnl
Graphs Comb.
Katherine Heinrich, Pavol Hell
1986 J jnl
Discret. Math.
Katherine Heinrich, Lie Zhu
1983 J jnl
Discret. Math.
Katherine Heinrich, Anthony J. W. Hilton
1983 J jnl
J. Graph Theory
Katherine Heinrich
1980 J jnl
J. Comb. Theory A
Katherine Heinrich
1978 J jnl
J. Graph Theory
Walter D. Wallis, Katherine Heinrich
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()