diff --git a/bouncer/bouncer2.js b/bouncer/bouncer2.js index b2e3920..36906b4 100644 --- a/bouncer/bouncer2.js +++ b/bouncer/bouncer2.js @@ -93,6 +93,7 @@ function terminate_sess(id) { socks.forEach(sock => { if (sock.id !== id) return; sock.terminate(); + socks.delete(sock); }); } diff --git a/config.js.example b/config.js.example index 6d304e6..e3b882b 100644 --- a/config.js.example +++ b/config.js.example @@ -11,6 +11,8 @@ module.exports = { // 2 -> Accurate, But every clients will connects to numbers of mode: 1, + clusters: 1, + // Server information. // Only for when nostr client requesting server information. server_meta: { diff --git a/index.js b/index.js index 1ba3581..d942680 100644 --- a/index.js +++ b/index.js @@ -1,3 +1,4 @@ +const config = require("./config"); const cluster = require("cluster"); const fs = require("fs"); const os = require("os"); @@ -7,7 +8,7 @@ if (!process.env.NO_CLUSTERS && cluster.isPrimary) { fs.rmSync(".temporary.db"); } catch {} - const numClusters = process.env.CLUSTERS || (os.availableParallelism ? os.availableParallelism() : (os.cpus().length || 2)) + const numClusters = process.env.CLUSTERS || config.clusters || (os.availableParallelism ? os.availableParallelism() : (os.cpus().length || 2)) console.log(`Primary ${process.pid} is running. Will fork ${numClusters} clusters.`);