blob: b0bfd425a1fd0567960665ab20d8ee799047244c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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);
})
}
|