diff --git a/packages/db/src/buffers/event-buffer.ts b/packages/db/src/buffers/event-buffer.ts index 76f2d288..d9e5346e 100644 --- a/packages/db/src/buffers/event-buffer.ts +++ b/packages/db/src/buffers/event-buffer.ts @@ -222,12 +222,22 @@ export class EventBuffer extends RedisBuffer { }; } + private getChunks(items: BufferType[], size: number) { + const chunks = []; + for (let i = 0; i < items.length; i += size) { + chunks.push(items.slice(i, i + size)); + } + return chunks; + } + protected async insertIntoDB(items: BufferType[]): Promise { - await ch.insert({ - table: TABLE_NAMES.events, - values: items, - format: 'JSONEachRow', - }); + for (const chunk of this.getChunks(items, 1500)) { + await ch.insert({ + table: TABLE_NAMES.events, + values: chunk, + format: 'JSONEachRow', + }); + } } public findMany: FindMany = async (