mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-07-26 02:18:38 -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,
|
newVal: 0,
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
const userMessages = await messages
|
let ended = false;
|
||||||
.find({ owner: instanceName, messageTimestamp: { $gte: messageTimestamp } })
|
const batchSize = 10000;
|
||||||
.toArray();
|
|
||||||
|
|
||||||
let totalSize = 0;
|
let totalSize = 0;
|
||||||
|
let offset = 0;
|
||||||
|
|
||||||
userMessages.forEach(function (doc) {
|
while (!ended) {
|
||||||
totalSize += calculateObjectSize(doc);
|
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 {
|
return {
|
||||||
chatCount: chatCount[0].rowCount,
|
chatCount: chatCount[0].rowCount,
|
||||||
|
Loading…
Reference in New Issue
Block a user