summaryrefslogtreecommitdiff
path: root/server/index.js
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-08-10 10:38:44 +0200
committerMinteck <contact@minteck.org>2022-08-10 10:38:44 +0200
commitc6dbf0450566c40efc4a26f4f0717452b6ef95cd (patch)
treeb4be2d508223820d0a77d5a3e35e82684da3b6ec /server/index.js
downloadhornchat-c6dbf0450566c40efc4a26f4f0717452b6ef95cd.tar.gz
hornchat-c6dbf0450566c40efc4a26f4f0717452b6ef95cd.tar.bz2
hornchat-c6dbf0450566c40efc4a26f4f0717452b6ef95cd.zip
Initial commitHEADmane
Diffstat (limited to 'server/index.js')
-rw-r--r--server/index.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/server/index.js b/server/index.js
new file mode 100644
index 0000000..b0bfd42
--- /dev/null
+++ b/server/index.js
@@ -0,0 +1,39 @@
+const cp = require('child_process');
+let processes = {};
+
+let serverlets = [
+ "authentication",
+ "keyserver",
+ "profile",
+ "verification",
+ "presence",
+ "conversation"
+]
+
+for (let serverlet of serverlets) {
+ startServerlet(serverlet);
+}
+
+function startServerlet(serverlet) {
+ console.log("Starting " + serverlet + "...");
+ processes[serverlet] = cp.spawn("node", [ "hornchat." + serverlet + ".js" ], { stdio: "pipe" });
+ console.log("[" + serverlet + "] (PID: " + processes[serverlet].pid + ")")
+
+ processes[serverlet].stdout.on('data', (data) => {
+ let lines = data.toString().trim().split("\n");
+ for (let line of lines) {
+ console.log("[" + serverlet + "] " + line);
+ }
+ })
+
+ processes[serverlet].stderr.on('data', (data) => {
+ let lines = data.toString().trim().split("\n");
+ for (let line of lines) {
+ console.error("[" + serverlet + "] " + line);
+ }
+ })
+
+ processes[serverlet].on('close', () => {
+ startServerlet(serverlet);
+ })
+} \ No newline at end of file