def run_optimize( clickhouse: ClickhousePool, storage: ReadableTableStorage, database: str, before: Optional[datetime] = None, ignore_cutoff: bool = False, parallel: int = 1, clickhouse_host: Optional[str] = None, ) -> int: start = time.time() schema = storage.get_schema() assert isinstance(schema, TableSchema) table = schema.get_local_table_name() database = storage.get_cluster().get_database() parts = get_partitions_to_optimize(clickhouse, storage, database, table, before) optimize_partition_runner(clickhouse, database, table, parts, ignore_cutoff, parallel, clickhouse_host) metrics.timing( "optimized_all_parts", time.time() - start, tags=_get_metrics_tags(table, clickhouse_host), ) return len(parts)
def run_optimize( clickhouse: ClickhousePool, storage: ReadableTableStorage, database: str, before: Optional[datetime] = None, ) -> int: schema = storage.get_schema() assert isinstance(schema, TableSchema) table = schema.get_local_table_name() database = storage.get_cluster().get_database() parts = get_partitions_to_optimize(clickhouse, storage, database, table, before) optimize_partitions(clickhouse, database, table, parts) return len(parts)