forked from fontello/fontello
-
Notifications
You must be signed in to change notification settings - Fork 0
/
fontello.js
executable file
·82 lines (50 loc) · 1.26 KB
/
fontello.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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#!/usr/bin/env node
/*global nodeca*/
"use strict";
var app = require('nlib').Application.create({
name: 'fontomas',
root: __dirname
});
//
// Preset application version
//
nodeca.runtime.version = require('./package.json').version;
//
// Catch unexpected exceptions
//
process.on('uncaughtException', function (err) {
var msg, stack;
try {
msg = 'UNCAUGHT EXCEPTION !!! ' + String(err);
stack = err.stack || '';
if (err.original) {
msg += '\n' + String(err.original);
stack = err.original.stack || stack;
}
msg += '\n' + stack.split('\n').slice(1).join('\n');
nodeca.logger.fatal(msg);
} catch (loggerError) {
// THIS SHOULD NEVER-EVER-EVER HAPPEN -- THIS IS A WORST CASE SCENARIO
// USAGE: ./nodeca.js 2>/var/log/nodeca-cf.log
process.stderr.write('\nLogger failed write: ' + loggerError.stack);
process.stderr.write('\nOriginal error happened: ' + msg);
}
});
//
// Handle SIGnals
//
function shutdown_gracefully() {
nodeca.logger.info('Shutting down...');
process.exit(0);
}
// shutdown gracefully on SIGTERM :
process.on('SIGTERM', shutdown_gracefully);
process.on('SIGINT', shutdown_gracefully);
//
// Register filters
//
require('./lib/filters');
//
// Run application
//
app.run();