N. Kishor Narang

30 papers Journal 29Unranked 1
YearRankTypeTitle / Venue / Authors
2026 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2025 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2025 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2025 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2025 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2025 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2025 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2024 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2024 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2024 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2024 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2024 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2024 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2023 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2023 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2023 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2023 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2022 conf
FNWF
Ranganai Chaparadza, Abdelaali Chaoub, Baw Chng, Nigel Davis, Ashutosh Dutta, Muslim Elkotob, Dilip Krishnaswamy, Kaniz Mahdi, Aarne Mämmelä, Pedro Martinez-Julia, N. Kishor Narang, Lyndon Ong, Mohammad N. Patwary, Meryem Simsek, Jens Voigt, Brad Kloza, Matthew Borst
2022 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2022 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2022 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2022 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2022 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2021 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2021 J jnl
IEEE Internet Things Mag.
N. Kishor Narang, John K. Zhao
2021 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2021 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2020 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2020 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
2020 J jnl
IEEE Internet Things Mag.
N. Kishor Narang
redb/settings/clickhouse.py
← Index redb/settings/clickhouse.py python
import os
import clickhouse_connect
from dotenv import load_dotenv

load_dotenv()

# ClickHouse configuration
CLICKHOUSE_HOST = os.getenv("CLICKHOUSE_HOST")
CLICKHOUSE_PORT = os.getenv("CLICKHOUSE_PORT", "9000")
CLICKHOUSE_USER = os.getenv("CLICKHOUSE_USER")
CLICKHOUSE_PASSWORD = os.getenv("CLICKHOUSE_PASSWORD")
CLICKHOUSE_DATABASE = os.getenv("CLICKHOUSE_DATABASE", "default")
CLICKHOUSE_ENFORCE_SSL = os.getenv("CLICKHOUSE_ENFORCE_SSL", "False")

# Cached client instance
_clickhouse_client = None

def get_clickhouse_client():
    """Get ClickHouse client with lazy initialization and caching"""
    global _clickhouse_client
    
    if _clickhouse_client is None:
        _clickhouse_client = clickhouse_connect.get_client(
            host=CLICKHOUSE_HOST,
            port=CLICKHOUSE_PORT,
            user=CLICKHOUSE_USER,
            password=CLICKHOUSE_PASSWORD,
            database=CLICKHOUSE_DATABASE,
            verify=CLICKHOUSE_ENFORCE_SSL,
            settings={
                'max_execution_time': 3600,  # 1 hour timeout
                'connect_timeout': 30,
                'receive_timeout': 30,
                'send_timeout': 30
            }
        )
    
    return _clickhouse_client

def create_clickhouse_client():
    """Create a new ClickHouse client connection (legacy function)"""
    return get_clickhouse_client()

CLICKHOUSE_BINARIES_TABLE = os.getenv("CLICKHOUSE_BINARIES_TABLE", "binaries")