pm2/constants.js
2016-06-26 16:39:24 +02:00

86 lines
3.3 KiB
JavaScript

var debug = require('debug')('pm2:conf');
var p = require('path');
var util = require('util');
var chalk = require('chalk');
var semver = require('semver');
/**
* Get PM2 path structure
*/
var path_structure = require('./paths.js')(process.env.OVER_HOME);
/**
* Constants variables used by PM2
*/
var csts = {
CODE_UNCAUGHTEXCEPTION : 100,
PREFIX_MSG : chalk.green('[PM2] '),
PREFIX_MSG_ERR : chalk.red('[PM2][ERROR] '),
PREFIX_MSG_MOD : chalk.green('[PM2][Module] '),
PREFIX_MSG_MOD_ERR : chalk.red('[PM2][Module][ERROR] '),
PREFIX_MSG_WARNING : chalk.yellow('[PM2][WARN] '),
PREFIX_MSG_SUCCESS : chalk.cyan('[PM2] '),
TEMPLATE_FOLDER : p.join(__dirname, 'lib/templates'),
APP_CONF_TPL : 'ecosystem.tpl',
SAMPLE_CONF_FILE : 'sample-conf.js',
CENTOS_STARTUP_SCRIPT : 'pm2-init-centos.sh',
UBUNTU_STARTUP_SCRIPT : 'pm2-init.sh',
SYSTEMD_STARTUP_SCRIPT : 'pm2.service',
AMAZON_STARTUP_SCRIPT : 'pm2-init-amazon.sh',
GENTOO_STARTUP_SCRIPT : 'pm2',
DARWIN_STARTUP_SCRIPT : 'io.keymetrics.PM2.plist',
FREEBSD_STARTUP_SCRIPT : 'pm2-freebsd.sh',
LOGROTATE_SCRIPT : 'logrotate.d/pm2',
SUCCESS_EXIT : 0,
ERROR_EXIT : 1,
IS_WINDOWS : (process.platform === 'win32' || process.platform === 'win64'),
ONLINE_STATUS : 'online',
STOPPED_STATUS : 'stopped',
STOPPING_STATUS : 'stopping',
LAUNCHING_STATUS : 'launching',
ERRORED_STATUS : 'errored',
ONE_LAUNCH_STATUS : 'one-launch-status',
CLUSTER_MODE_ID : 'cluster_mode',
FORK_MODE_ID : 'fork_mode',
KEYMETRICS_ROOT_URL : process.env.KEYMETRICS_NODE || 'root.keymetrics.io',
KEYMETRICS_BANNER : '../lib/keymetrics',
DEFAULT_MODULE_JSON : 'package.json',
REMOTE_PORT_TCP : isNaN(parseInt(process.env.KEYMETRICS_PUSH_PORT)) ? 80 : parseInt(process.env.KEYMETRICS_PUSH_PORT),
REMOTE_PORT : 41624,
REMOTE_REVERSE_PORT : isNaN(parseInt(process.env.KEYMETRICS_REVERSE_PORT)) ? 43554 : parseInt(process.env.KEYMETRICS_REVERSE_PORT),
REMOTE_HOST : 's1.keymetrics.io',
SEND_INTERVAL : 1000,
GRACEFUL_TIMEOUT : parseInt(process.env.PM2_GRACEFUL_TIMEOUT) || 8000,
GRACEFUL_LISTEN_TIMEOUT : parseInt(process.env.PM2_GRACEFUL_LISTEN_TIMEOUT) || 3000,
// Concurrent actions when doing start/restart/reload
CONCURRENT_ACTIONS : (function() {
var concurrent_actions = parseInt(process.env.PM2_CONCURRENT_ACTIONS) || 1;
if (semver.satisfies(process.versions.node, '>= 4.0.0'))
concurrent_actions = 4;
debug('Using %d parallelism (CONCURRENT_ACTIONS)', concurrent_actions);
return concurrent_actions;
})(),
DEBUG : process.env.PM2_DEBUG || false,
WEB_INTERFACE : parseInt(process.env.PM2_API_PORT) || 9615,
MODIFY_REQUIRE : process.env.PM2_MODIFY_REQUIRE || false,
WORKER_INTERVAL : process.env.PM2_WORKER_INTERVAL || 30000,
KILL_TIMEOUT : process.env.PM2_KILL_TIMEOUT || 1600,
PM2_LOG_DATE_FORMAT : process.env.PM2_LOG_DATE_FORMAT !== undefined ? process.env.PM2_LOG_DATE_FORMAT : 'YYYY-MM-DD HH:mm:ss'
};
module.exports = util._extend(csts, path_structure);