Ihsen Hedhli

20 papers B 3C 3Journal 10Unranked 3
YearRankTypeTitle / Venue / Authors
2023 J jnl
CoRR
Mohamed Abderrahmen Abid, Arman Afrasiyabi, Ihsen Hedhli, Jean-François Lalonde, Christian Gagné
2023 J jnl
ACM Trans. Knowl. Discov. Data
Changjian Shui, William Wei Wang, Ihsen Hedhli, Chi Man Wong, Feng Wan, Boyu Wang, Christian Gagné
2021 J jnl
CoRR
Mohamed Abderrahmen Abid, Ihsen Hedhli, Christian Gagné
2021 J jnl
CoRR
Mohamed Abderrahmen Abid, Ihsen Hedhli, Jean-François Lalonde, Christian Gagné
2021 J jnl
Remote. Sens.
Martina Pastorino, Alessandro Montaldo, Luca Fronda, Ihsen Hedhli, Gabriele Moser, Sebastiano B. Serpico, Josiane Zerubia
2019 B conf
ICIP
Alessandro Montaldo, Luca Fronda, Ihsen Hedhli, Gabriele Moser, Sebastiano Bruno Serpico, Josiane Zerubia
2019 C conf
IGARSS
Alessandro Montaldo, Luca Fronda, Ihsen Hedhli, Gabriele Moser, Josiane Zerubia, Sebastiano B. Serpico
2019 conf
EUSIPCO
Sébastien de Blois, Ihsen Hedhli, Christian Gagné
2019 J jnl
CoRR
Sébastien de Blois, Ihsen Hedhli, Christian Gagné
2018 J jnl
CoRR
Changjian Shui, Ihsen Hedhli, Christian Gagné
2018 J jnl
CoRR
Changjian Shui, Azadeh Sadat Mozafari, Jonathan Marek, Ihsen Hedhli, Christian Gagné
2017 J jnl
IEEE Geosci. Remote. Sens. Lett.
Ihsen Hedhli, Gabriele Moser, Sebastiano B. Serpico, Josiane Zerubia
2017 conf
JURSE
Ihsen Hedhli, Gabriele Moser, Sebastiano B. Serpico, Josiane Zerubia
2016 J jnl
IEEE Trans. Geosci. Remote. Sens.
Ihsen Hedhli, Gabriele Moser, Josiane Zerubia, Sebastiano Bruno Serpico
2016 B conf
ICIP
Ihsen Hedhli, Gabriele Moser, Sebastiano B. Serpico, Josiane Zerubia
2016
Ihsen Hedhli
2015 C conf
IGARSS
Ihsen Hedhli, Gabriele Moser, Sebastiano B. Serpico, Josiane Zerubia
2015 conf
EUSIPCO
Ihsen Hedhli, Gabriele Moser, Sebastiano B. Serpico, Josiane Zerubia
2014 C conf
IGARSS
Ihsen Hedhli, Gabriele Moser, Josiane Zerubia, Sebastiano Bruno Serpico
2014 B conf
ICIP
Ihsen Hedhli, Gabriele Moser, Josiane Zerubia, Sebastiano B. Serpico
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")