/
server.js
53 lines (47 loc) · 1.24 KB
/
server.js
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
var options = {
port: 80,
watched_files: undefined,
default_start_type: 'simple'
};
var cluster = require('cluster'),
port = 80;
var start = {
normal: function() {
cluster('./app/app')
.use(cluster.debug())
.use(cluster.reload())
.use(cluster.logger('logs', 'debug'))
.use(cluster.stats())
.use(cluster.pidfiles('pids'))
.use(cluster.cli())
.use(cluster.repl(8888))
.listen(options.port);
},
single: function() {
cluster('./app/app')
.set('workers', 1)
.set('respawn timeout', 500)
.set('respawn limit', 3)
.use(cluster.debug())
.use(cluster.reload())
.listen(options.port);
},
simple: function() {
var app = require('./app/app');
app.listen(options.port);
}
};
function kill_zombies() {
// remove any leftover sock files
var exec = require('child_process').exec;
exec("rm -f *.sock", function(err, stdout, stderr) {
console.log(stderr);
console.log(stdout);
});
}
var start_type = process.argv[2] || options.default_start_type;
console.log("Starting in mode '" + start_type + "'...");
console.log("Killing zombies...");
kill_zombies();
console.log("Opening server on port " + options.port + "...");
start[start_type]();