Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemathinc
GitHub Repository: sagemathinc/cocalc
Path: blob/master/src/packages/hub/run/delete-projects.js
1503 views
1
#!/usr/bin/env node
2
/*
3
Periodically delete projects.
4
5
TODO: For now, this just calls the unlink function. Later on it
6
should do more (actually delete data, etc.).
7
*/
8
9
import * as postgres from "@cocalc/database";
10
11
const INTERVAL_H = process.env.INTERVAL_H ?? "4";
12
const INTERVAL_MS = parseInt(INTERVAL_H) * 60 * 60 * 1000;
13
14
async function update() {
15
const db = postgres.db({ ensure_exists: false });
16
console.log("unlinking old deleted projects...");
17
try {
18
await db.unlink_old_deleted_projects();
19
} catch (err) {
20
if (err !== null) {
21
throw Error(`failed to unlink projects -- ${err}`);
22
} else {
23
console.log("unlink projects done");
24
}
25
}
26
console.log(`Waiting ${INTERVAL_H} hours...`);
27
setTimeout(update, INTERVAL_MS);
28
}
29
30
update();
31
32