-
Notifications
You must be signed in to change notification settings - Fork 24
Expand file tree
/
Copy pathindex.js
More file actions
45 lines (40 loc) · 1.47 KB
/
Copy pathindex.js
File metadata and controls
45 lines (40 loc) · 1.47 KB
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
"use strict";
var t0 = Date.now();
if (process.env.NODE_ENV === "dev") {
// Load local env variables
require("./env");
}
const createApp = require("./lib/app"),
Controller = require("./lib/controller"),
{ logger, memory, installProcessHandlers } = require("./lib/logger"),
{ parseStartupQueue, processStartupQueue } = require("./lib/startup-queue");
var config = {
githubSecret: process.env.GITHUB_SECRET,
port: process.env.PORT || 5000,
nodeEnv: process.env.NODE_ENV
};
const controller = new Controller({ logger });
const queue = parseStartupQueue(process.env.STARTUP_QUEUE, logger);
if (queue) {
processStartupQueue(queue, controller, logger).catch(error => {
logger.error({ err: error }, "Unexpected error during startup queue processing");
});
}
var app = createApp(controller, config, logger);
var port = config.port;
var server = app.listen(port, function() {
logger.info("Express server listening on port %d in %s mode", port, app.settings.env);
logger.info({ memory: memory(), ms: Date.now() - t0 }, "App started in %dms.", Date.now() - t0);
});
server.on("error", function(err) {
logger.fatal({ err }, "server error");
process.exit(1);
});
installProcessHandlers(logger, function(done) {
server.close(done);
});
// A periodic memory snapshot, cheap and invaluable when hunting down
// an instance that runs out of memory.
setInterval(function() {
logger.info({ memory: memory() }, "memory usage");
}, 60000).unref();