Skip to content

Commit 18de09a

Browse files
Control ClickHouse insert rate also by batch size
1 parent 7c0378a commit 18de09a

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

mcbackend/backends/clickhouse.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ def __init__(
103103
*,
104104
client: clickhouse_driver.Client,
105105
insert_interval: int = 1,
106+
insert_every: int = 500,
106107
draw_idx: int = 0,
107108
):
108109
self._draw_idx = draw_idx
@@ -113,6 +114,7 @@ def __init__(
113114
self._insert_queue = []
114115
self._last_insert = time.time()
115116
self._insert_interval = insert_interval
117+
self._insert_every = insert_every
116118
super().__init__(cmeta, rmeta)
117119

118120
def append(
@@ -126,7 +128,10 @@ def append(
126128
self._insert_query = f"INSERT INTO {self.cid} ({names}) VALUES"
127129
self._insert_queue.append(params)
128130

129-
if time.time() - self._last_insert > self._insert_interval:
131+
if (
132+
len(self._insert_queue) >= self._insert_every
133+
or time.time() - self._last_insert > self._insert_interval
134+
):
130135
self._commit()
131136
return
132137

0 commit comments

Comments
 (0)