def default_client(): """ Return a bare bones client for use in places where we are only interested in general ClickHouse state DO NOT USE THIS FOR QUERYING DATA """ return SyncClient( host=CLICKHOUSE_HOST, secure=CLICKHOUSE_SECURE, user=CLICKHOUSE_USER, password=CLICKHOUSE_PASSWORD, ca_certs=CLICKHOUSE_CA, verify=CLICKHOUSE_VERIFY, )
ca_certs=CLICKHOUSE_CA, verify=CLICKHOUSE_VERIFY, ) @async_to_sync async def async_execute(query, args=None): loop = asyncio.get_event_loop() task = loop.create_task(ch_client.execute(query, args)) return task else: # if this is a test use the sync client ch_client = SyncClient( host=CLICKHOUSE_HOST, database=CLICKHOUSE_DATABASE, secure=CLICKHOUSE_SECURE, password=CLICKHOUSE_PASSWORD, ca_certs=CLICKHOUSE_CA, verify=CLICKHOUSE_VERIFY, ) def async_execute(query, args=None): return sync_execute(query, args) ch_sync_pool = ChPool( host=CLICKHOUSE_HOST, database=CLICKHOUSE_DATABASE, secure=CLICKHOUSE_SECURE, password=CLICKHOUSE_PASSWORD, ca_certs=CLICKHOUSE_CA, verify=CLICKHOUSE_VERIFY, connections_min=20,
with_column_types=False): loop = asyncio.get_event_loop() task = loop.create_task( ch_client.execute(query, args, settings=settings, with_column_types=with_column_types)) return task else: # if this is a test use the sync client ch_client = SyncClient( host=CLICKHOUSE_HOST, database=CLICKHOUSE_DATABASE, secure=CLICKHOUSE_SECURE, user=CLICKHOUSE_USER, password=CLICKHOUSE_PASSWORD, ca_certs=CLICKHOUSE_CA, verify=CLICKHOUSE_VERIFY, settings={"mutations_sync": "1"} if TEST else {}, ) ch_pool = make_ch_pool() def async_execute(query, args=None, settings=None, with_column_types=False): return sync_execute(query, args, settings=settings, with_column_types=with_column_types)