-
Notifications
You must be signed in to change notification settings - Fork 0
/
pm2bootstrap.js
40 lines (40 loc) · 1.39 KB
/
pm2bootstrap.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
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
require('dotenv').config();
var pm2 = require('pm2');
var env_1 = require("./scripts/env");
var MACHINE_NAME = process.env.KEYMETRICS_MACHINE_NAME;
var PRIVATE_KEY = process.env.KEYMETRICS_SECRET_KEY;
var PUBLIC_KEY = process.env.KEYMETRICS_PUBLIC_KEY;
var appName = process.env.PM2_APP_NAME || 'EverShopWeb';
var instances = env_1.env.WEB_CONCURRENCY;
var maxMemory = env_1.env.WEB_MEMORY;
var port = env_1.env.PORT;
pm2.connect(function () {
pm2.start({
script: './dist/out-tsc/app.js',
name: appName,
exec_mode: 'fork',
instances: instances,
max_memory_restart: maxMemory + 'M',
env: {
NODE_ENV: 'production',
PORT: port,
KEYMETRICS_PUBLIC: PUBLIC_KEY,
KEYMETRICS_SECRET: PRIVATE_KEY,
},
post_update: ['yarn install'],
}, function () {
pm2.dump(console.error);
pm2.launchBus(function (err, bus) {
console.log('[PM2] Log streaming started');
bus.on('log:out', function (packet) {
console.log('[App:%s] %s', packet.process.name, packet.data);
});
bus.on('log:err', function (packet) {
console.error('[App:%s][Err] %s', packet.process.name, packet.data);
});
});
});
});
//# sourceMappingURL=pm2bootstrap.js.map