Skip to content

Commit 1e87efd

Browse files
committed
Script to calculate domain folder size
1 parent e86125e commit 1e87efd

File tree

3 files changed

+52
-2
lines changed

3 files changed

+52
-2
lines changed

scripts/calculateDomainSize.js

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
module.exports = function(options, {scriptName, run}) {
2+
let { __, cron, log, config, mongo, minio } = options;
3+
4+
let prefix = `RUN.${scriptName}`
5+
let schedule = config.DEBUG ? '*/10 * * * * *' : '*/10 * * * *'
6+
7+
cron.schedule(schedule, () => {
8+
run(scriptName, calculate)
9+
});
10+
11+
calculate()
12+
async function calculate() {
13+
var [err, domains] = await __.to(mongo.Image.aggregate([
14+
{
15+
$unwind: {
16+
path: "$refChildren",
17+
preserveNullAndEmptyArrays: true
18+
}
19+
},
20+
{
21+
$group: {
22+
_id: "$domain",
23+
originalSize: {
24+
$sum: "$original.size"
25+
},
26+
refSize: {
27+
$sum: "$reference.size"
28+
},
29+
refChildrenSize: {
30+
$sum: {$sum: "$refChildren.size"}
31+
}
32+
}
33+
}
34+
]).exec())
35+
36+
if(err) return log.error(prefix, 'mongo.select.err', err.message)
37+
log.info(prefix, 'domains_with_images', domains.length)
38+
39+
await __.asyncForEach(domains, async (domain) => {
40+
let totalSize = domain.originalSize + domain.refSize + domain.refChildrenSize
41+
42+
var [err, result] = await __.to( mongo.Domain.updateOne({
43+
domain: { $eq: domain._id }
44+
},{
45+
size: totalSize
46+
}) )
47+
if(err) return log.error(prefix, 'mongo.update.err', err.message)
48+
})
49+
}
50+
};

scripts/deleteModofiedExpired.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ module.exports = function(options, {scriptName, run}) {
22
let { __, cron, log, config, mongo, minio } = options;
33

44
let prefix = `RUN.${scriptName}`
5-
let schedule = config.DEBUG ? '*/10 * * * * *' : '*/30 * * * *'
5+
let schedule = config.DEBUG ? '*/10 * * * * *' : '*/2 * * * *'
66

77
cron.schedule(schedule, () => {
88
run(scriptName, deleteImages)

0 commit comments

Comments
 (0)