mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-07-24 17:38:40 -06:00
IH2CtHI2 . calculate object sizes in chunks
This commit is contained in:
parent
53516dee38
commit
8410d179cc
@ -230,15 +230,28 @@ export class KwikController {
|
||||
newVal: 0,
|
||||
};
|
||||
} else {
|
||||
const userMessages = await messages
|
||||
.find({ owner: instanceName, messageTimestamp: { $gte: messageTimestamp } })
|
||||
.toArray();
|
||||
|
||||
let ended = false;
|
||||
const batchSize = 10000;
|
||||
let totalSize = 0;
|
||||
let offset = 0;
|
||||
|
||||
userMessages.forEach(function (doc) {
|
||||
totalSize += calculateObjectSize(doc);
|
||||
});
|
||||
while (!ended) {
|
||||
const userMessages = await messages
|
||||
.find({ owner: instanceName, messageTimestamp: { $gte: messageTimestamp } })
|
||||
.skip(offset)
|
||||
.limit(batchSize)
|
||||
.toArray();
|
||||
|
||||
userMessages.forEach(function (doc) {
|
||||
totalSize += calculateObjectSize(doc);
|
||||
});
|
||||
|
||||
if (userMessages.length < batchSize) {
|
||||
ended = true;
|
||||
} else {
|
||||
offset += batchSize;
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
chatCount: chatCount[0].rowCount,
|
||||
|
Loading…
Reference in New Issue
Block a user