diff --git a/bundle/src/stats.ts b/bundle/src/stats.ts
deleted file mode 100644
index 0234e0b4..00000000
--- a/bundle/src/stats.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-import os from "os";
-import osu from "node-os-utils";
-import { red } from "picocolors";
-
-export function initStats() {
- console.log(`[Path] running in ${__dirname}`);
- try {
- console.log(`[CPU] ${osu.cpu.model()} Cores x${osu.cpu.count()}`);
- }
- catch {
- console.log('[CPU] Failed to get cpu model!')
- }
-
- console.log(`[System] ${os.platform()} ${os.arch()}`);
- console.log(`[Process] running with PID: ${process.pid}`);
- if (process.getuid && process.getuid() === 0) {
- console.warn(
- red(
- `[Process] Warning fosscord is running as root, this highly discouraged and might expose your system vulnerable to attackers. Please run fosscord as a user without root privileges.`
- )
- );
- }
-
- // TODO: node-os-utils might have a memory leak, more investigation needed
- // TODO: doesn't work if spawned with multiple threads
- // setInterval(async () => {
- // const [cpuUsed, memory, network] = await Promise.all([
- // osu.cpu.usage(),
- // osu.mem.info(),
- // osu.netstat.inOut(),
- // ]);
- // var networkUsage = "";
- // if (typeof network === "object") {
- // networkUsage = `| [Network]: in ${network.total.inputMb}mb | out ${network.total.outputMb}mb`;
- // }
-
- // console.log(
- // `[CPU] ${cpuUsed.toPrecision(3)}% | [Memory] ${Math.round(
- // process.memoryUsage().rss / 1024 / 1024
- // )}mb/${memory.totalMemMb.toFixed(0)}mb ${networkUsage}`
- // );
- // }, 1000 * 60 * 5);
-}
diff --git a/bundle/src/Server.ts b/src/Server.ts
index 71a60d49..4d5d6422 100644
--- a/bundle/src/Server.ts
+++ b/src/Server.ts
@@ -7,9 +7,10 @@ import * as Gateway from "@fosscord/gateway";
import { CDNServer } from "@fosscord/cdn";
import express from "express";
import { green, bold, yellow } from "picocolors";
-import { Config, initDatabase } from "@fosscord/util";
+import { Config, getOrInitialiseDatabase } from "@fosscord/util";
import * as Sentry from "@sentry/node";
import * as Tracing from "@sentry/tracing";
+// import { PluginLoader } from "@fosscord/util";
const app = express();
const server = http.createServer();
@@ -26,6 +27,7 @@ const gateway = new Gateway.Server({ server, port, production });
//this is what has been added for the /stop API route
process.on('SIGTERM', () => {
+ setTimeout(()=>process.exit(0), 3000)
server.close(() => {
console.log("Stop API has been successfully POSTed, SIGTERM sent")
})
@@ -34,7 +36,7 @@ process.on('SIGTERM', () => {
async function main() {
server.listen(port);
- await initDatabase();
+ await getOrInitialiseDatabase();
await Config.init();
// only set endpointPublic, if not already set
await Config.set({
@@ -93,6 +95,7 @@ async function main() {
});
}
console.log(`[Server] ${green(`listening on port ${bold(port)}`)}`);
+ // PluginLoader.loadPlugins();
}
main().catch(console.error);
diff --git a/bundle/src/start.ts b/src/start.ts
index de3b5848..a20581c3 100644
--- a/bundle/src/start.ts
+++ b/src/start.ts
@@ -9,7 +9,7 @@ config();
import { execSync } from "child_process";
// TODO: add socket event transmission
-var cores = 1;
+let cores = 1;
try {
cores = Number(process.env.THREADS) || os.cpus().length;
} catch {
|