Nathan P. Lawrence

29 papers A* 1A 1C 1Journal 24Unranked 2
YearRankTypeTitle / Venue / Authors
2026 J jnl
IFAC J. Syst. Control.
Thomas Banker, Nathan P. Lawrence, Ali Mesbah
2025 J jnl
Annu. Rev. Control.
Nathan P. Lawrence, Philip D. Loewen, Michael G. Forbes, R. Bhushan Gopaluni, Ali Mesbah
2025 J jnl
CoRR
Nathan P. Lawrence, Philip D. Loewen, Michael G. Forbes, R. Bhushan Gopaluni, Ali Mesbah
2025 J jnl
CoRR
Pritam Dash, Ethan Chan, Nathan P. Lawrence, Karthik Pattabiraman
2025 C conf
ACC
Thomas Banker, Nathan P. Lawrence, Ali Mesbah
2025 J jnl
CoRR
Thomas Banker, Nathan P. Lawrence, Ali Mesbah
2025 conf
CDC
Nathan P. Lawrence, Thomas Banker, Ali Mesbah
2025 J jnl
CoRR
Nathan P. Lawrence, Thomas Banker, Ali Mesbah
2025 J jnl
CoRR
Nathan P. Lawrence, Ali Mesbah
2024 conf
L4DC
Nathan P. Lawrence, Philip D. Loewen, Shuyuan Wang, Michael G. Forbes, R. Bhushan Gopaluni
2024 J jnl
CoRR
Nathan P. Lawrence, Philip D. Loewen, Shuyuan Wang, Michael G. Forbes, R. Bhushan Gopaluni
2024 A conf
IROS
Shuyuan Wang, Jingliang Duan, Nathan P. Lawrence, Philip D. Loewen, Michael G. Forbes, R. Bhushan Gopaluni, Lixian Zhang
2024 J jnl
CoRR
Shuyuan Wang, Jingliang Duan, Nathan P. Lawrence, Philip D. Loewen, Michael G. Forbes, R. Bhushan Gopaluni, Lixian Zhang
2024 J jnl
CoRR
Nathan P. Lawrence, Seshu Kumar Damarla, Jong Woo Kim, Aditya Tulsyan, Faraz Amjad, Kai Wang, Benoît Chachuat, Jong Min Lee, Biao Huang, R. Bhushan Gopaluni
2024 J jnl
Autom.
Nathan P. Lawrence, Philip D. Loewen, Shuyuan Wang, Michael G. Forbes, R. Bhushan Gopaluni
2023 J jnl
CoRR
Nathan P. Lawrence, Philip D. Loewen, Shuyuan Wang, Michael G. Forbes, R. Bhushan Gopaluni
2023 J jnl
CoRR
Tobi Michael Alabi, Nathan P. Lawrence, Lin Lu, Zaiyue Yang, R. Bhushan Gopaluni
2023 J jnl
CoRR
Shuyuan Wang, Philip D. Loewen, Nathan P. Lawrence, Michael G. Forbes, R. Bhushan Gopaluni
2023 J jnl
CoRR
Nathan P. Lawrence, Philip D. Loewen, Shuyuan Wang, Michael G. Forbes, R. Bhushan Gopaluni
2022 J jnl
CoRR
Daniel G. McClement, Nathan P. Lawrence, Johan U. Backström, Philip D. Loewen, Michael G. Forbes, R. Bhushan Gopaluni
2022 J jnl
CoRR
Daniel G. McClement, Nathan P. Lawrence, Michael G. Forbes, Philip D. Loewen, Johan U. Backström, R. Bhushan Gopaluni
2022 J jnl
CoRR
R. Bhushan Gopaluni, Aditya Tulsyan, Benoît Chachuat, Biao Huang, Jong Min Lee, Faraz Amjad, Seshu Kumar Damarla, Jong Woo Kim, Nathan P. Lawrence
2021 J jnl
CoRR
Daniel G. McClement, Nathan P. Lawrence, Philip D. Loewen, Michael G. Forbes, Johan U. Backström, R. Bhushan Gopaluni
2021 J jnl
CoRR
Nathan P. Lawrence, Philip D. Loewen, Michael G. Forbes, Johan U. Backström, R. Bhushan Gopaluni
2021 J jnl
CoRR
Nathan P. Lawrence, Michael G. Forbes, Philip D. Loewen, Daniel G. McClement, Johan U. Backström, R. Bhushan Gopaluni
2020 A* conf
NeurIPS
Nathan P. Lawrence, Philip D. Loewen, Michael G. Forbes, Johan U. Backström, R. Bhushan Gopaluni
2020 J jnl
CoRR
Steven Spielberg, Aditya Tulsyan, Nathan P. Lawrence, Philip D. Loewen, R. Bhushan Gopaluni
2020 J jnl
CoRR
Nathan P. Lawrence, Gregory E. Stewart, Philip D. Loewen, Michael G. Forbes, Johan U. Backström, R. Bhushan Gopaluni
2020 J jnl
CoRR
Nathan P. Lawrence, Gregory E. Stewart, Philip D. Loewen, Michael G. Forbes, Johan U. Backström, R. Bhushan Gopaluni
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")