-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Description
I've seen slightly similar issues reported ( #3677, #3587 ) and I would like to add more detail
What's going wrong?
None of the restart | startOrRestart | startOrReload
read updates from an ecosystem file.
I.e. changing the script path and running pm2 restart ecosystem.config.js --env production --update-env
doesn't update the process process info
How could we reproduce this issue?
pm2 startOrReload ecosystem.config.js --env production --update-env
module.exports = {
apps: [{
name: "Internal API",
script: "./internal_api/bundle.js",
watch: true,
kill_timeout: 10000,
wait_ready: true,
env_production: {
NODE_ENV: "production",
NODE_CONFIG_DIR: "./config"
},
}],
};
pm2 info 0
status │ online │
│ name │ Internal API │
│ restarts │ 15 │
│ uptime │ 75s │
│ script path │ /home/centos/internal_api/bundle.js │
│ script args │ N/A │
│ error log path │ /home/centos/.pm2/logs/Internal-API-error-0.log │
│ out log path │ /home/centos/.pm2/logs/Internal-API-out-0.log │
│ pid path │ /home/centos/.pm2/pids/Internal-API-0.pid │
│ interpreter │ node │
│ interpreter args │ N/A │
│ script id │ 0 │
│ exec cwd │ /home/centos │
│ exec mode │ fork_mode │
│ node.js version │ 8.11.3 │
│ watch & reload │ ✔ │
│ unstable restarts │ 0 │
│ created at │ N/A
Update the ecosystem.config.js
and change script path to script: "./internal-api/bundle.js"
(hyphen instead of underscore), run pm2 startOrReload ecosystem.config.js --env production --update-env
(same for reload
, startOrRestart
)
$ pm2 startOrReload ecosystem.config.js --env production --update-env
[PM2] Applying action reloadProcessId on app [Internal API](ids: 0)
[PM2] [Internal API](0) ✓
pm2 info 0
will show the old script path
│ script path │ /home/centos/internal_api/bundle.js
Edit:
Also, more of a question, but I would've expected that supplying an ecosystem file will enforce whatever apps are running?
I.e if I change the name of an app in the ecosystem file the it will be registered as a new process and the old one will keep running instead of killing everything except what's in the ecosystem.
Supporting information
$ pm2 report
[centos@ip-10-0-19-234 ~]$ pm2 report
===============================================================================
--- PM2 REPORT (Wed Jun 27 2018 10:03:50 GMT+0000 (UTC)) ----------------------
===============================================================================
--- Daemon -------------------------------------------------
pm2d version : 2.10.4
node version : 8.11.3
node path : /usr/local/lib/npm/bin/pm2
argv : /usr/bin/node,/usr/local/lib/npm/lib/node_modules/pm2/lib/Daemon.js
argv0 : node
user : centos
uid : 1000
gid : 1000
uptime : 5min
===============================================================================
--- CLI ----------------------------------------------------
local pm2 : 2.10.4
node version : 8.11.3
node path : /usr/local/lib/npm/bin/pm2
argv : /usr/bin/node,/usr/local/lib/npm/bin/pm2,report
argv0 : node
user : centos
uid : 1000
gid : 1000
===============================================================================
--- System info --------------------------------------------
arch : x64
platform : linux
type : Linux
cpus : Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz
cpus nb : 1
freemem : 389451776
totalmem : 1038929920
home : /home/centos
===============================================================================
--- PM2 list -----------------------------------------------
┌──────────────┬────┬──────┬─────┬────────┬─────────┬────────┬─────┬────────┬────────┬──────────┐
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │
├──────────────┼────┼──────┼─────┼────────┼─────────┼────────┼─────┼────────┼────────┼──────────┤
│ Internal API │ 0 │ fork │ 0 │ online │ 31 │ 58s │ 0% │ 0 B │ centos │ enabled │
└──────────────┴────┴──────┴─────┴────────┴─────────┴────────┴─────┴────────┴────────┴──────────┘
===============================================================================
--- Daemon logs --------------------------------------------
┌──────────────┬────┬──────┬─────┬────────┬─────────┬────────┬─────┬────────┬────────┬──────────┐
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │
├──────────────┼────┼──────┼─────┼────────┼─────────┼────────┼─────┼────────┼────────┼──────────┤
│ Internal API │ 0 │ fork │ 0 │ online │ 31 │ 58s │ 0% │ 0 B │ centos │ enabled │
└──────────────┴────┴──────┴─────┴────────┴─────────┴────────┴─────┴────────┴────────┴──────────┘