Carina Andersson

13 papers A 1Journal 6Unranked 5
YearRankTypeTitle / Venue / Authors
2007 J jnl
IEEE Trans. Software Eng.
Carina Andersson, Per Runeson
2007 J jnl
Empir. Softw. Eng.
Carina Andersson
2007 J jnl
Softw. Process. Improv. Pract.
Carina Andersson, Per Runeson
2007 A conf
ESEM
Carina Andersson, Per Runeson
2006
Carina Andersson
2006 J jnl
IEEE Softw.
Per Runeson, Carina Andersson, Thomas Thelin, Anneliese Amschler Andrews, Tomas Berling
2004 conf
IEEE METRICS
Thomas Thelin, Carina Andersson, Per Runeson, Nina Dzamashvili-Fogelström
2004 J jnl
Empir. Softw. Eng.
Thomas Thelin, Per Runeson, Claes Wohlin, Thomas Olsson, Carina Andersson
2003 conf
ISESE
Carina Andersson, Thomas Thelin, Per Runeson, Nina Dzamashvili
2003 J jnl
J. Softw. Maintenance Res. Pract.
Per Runeson, Carina Andersson, Martin Höst
2002 conf
ISESE
Thomas Thelin, Per Runeson, Claes Wohlin, Thomas Olsson, Carina Andersson
2002 conf
ECBS
Carina Andersson, Lena Karlsson, Josef Nedstam, Martin Höst, Bertil I. Nilsson
2002 conf
ISESE
Carina Andersson, Per Runeson
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")