recursive instead of using du utility
This commit is contained in:
parent
3ffb7f4949
commit
c3793203e3
2 changed files with 63 additions and 1 deletions
|
@ -4,6 +4,7 @@ import { log, error as _error } from "../utils/logger.js";
|
|||
import { prefixCache, aliases, disabledCache, disabledCmdCache, commands } from "../utils/collections.js";
|
||||
import parseCommand from "../utils/parseCommand.js";
|
||||
import { clean } from "../utils/misc.js";
|
||||
import { spawn } from "child_process";
|
||||
|
||||
// run when someone sends a message
|
||||
export default async (client, cluster, worker, ipc, message) => {
|
||||
|
@ -142,6 +143,34 @@ export default async (client, cluster, worker, ipc, message) => {
|
|||
},
|
||||
}]
|
||||
}, reference));
|
||||
if (process.env.THRESHOLD) {
|
||||
process.env.DIRSIZECACHE+=result.file.length;
|
||||
if (process.env.DIRSIZECACHE>process.env.THRESHOLD) {
|
||||
const files = (await promises.readdir(process.env.TEMPDIR))
|
||||
.map((file)=>{
|
||||
return new Promise((resolve,reject) => {
|
||||
promises.stat(`${process.env.TEMPDIR}/${file}`)
|
||||
.then((fstats)=>{
|
||||
resolve({
|
||||
name:file,
|
||||
size:fstats.size,
|
||||
ctime:fstats.ctime
|
||||
});
|
||||
})
|
||||
.catch(reject);
|
||||
});
|
||||
});
|
||||
Promise.all(files)
|
||||
.then((files)=>{
|
||||
process.env.DIRSIZECACHE = files.reduce((a,b)=>{
|
||||
return a+b.size
|
||||
},0)
|
||||
const oldestFile = files.sort((a, b) => a.ctime - b.ctime)[0].name;
|
||||
promises.rm(`${process.env.TEMPDIR}/${oldestFile}`);
|
||||
log(`Removed oldest image file: ${oldestFile}`);
|
||||
});
|
||||
}
|
||||
}
|
||||
} else {
|
||||
await client.createMessage(message.channel.id, "The resulting image was more than 8MB in size, so I can't upload it.");
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue