mirror of
https://github.com/MichMich/MagicMirror.git
synced 2025-07-03 22:36:09 +00:00
PM2 Fix (again): add pm2_env.unique_id
checking and cleaning (#3626)
#3605 : new purpose code with `pm2_env.unique_id` checking
This commit is contained in:
parent
b250cfa0ee
commit
cd6f10c843
@ -29,7 +29,7 @@ _This release is scheduled to be released on 2025-01-01._
|
|||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- [updatenotification] Fix pm2 using detection when pm2 script is inside or outside MagicMirror root folder (#3576) (#3605)
|
- [updatenotification] Fix pm2 using detection when pm2 script is inside or outside MagicMirror root folder (#3576) (#3605) (#3626)
|
||||||
- [core] Fix loading node_helper of modules: avoid black screen, display errors and continue loading with next module (#3578)
|
- [core] Fix loading node_helper of modules: avoid black screen, display errors and continue loading with next module (#3578)
|
||||||
- [weather] Changed default value for weatherEndpoint of provider openweathermap to "/onecall" (#3574)
|
- [weather] Changed default value for weatherEndpoint of provider openweathermap to "/onecall" (#3574)
|
||||||
- [tests] Fix electron tests with mock dates, the mock on server side was missing (#3597)
|
- [tests] Fix electron tests with mock dates, the mock on server side was missing (#3597)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
const Exec = require("node:child_process").exec;
|
const Exec = require("node:child_process").exec;
|
||||||
const Spawn = require("node:child_process").spawn;
|
const Spawn = require("node:child_process").spawn;
|
||||||
const fs = require("node:fs");
|
const fs = require("node:fs");
|
||||||
|
const pm2 = require("pm2");
|
||||||
const Log = require("logger");
|
const Log = require("logger");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -142,7 +142,6 @@ class Updater {
|
|||||||
// restart MagicMiror with "pm2"
|
// restart MagicMiror with "pm2"
|
||||||
pm2Restart () {
|
pm2Restart () {
|
||||||
Log.info("updatenotification: PM2 will restarting MagicMirror...");
|
Log.info("updatenotification: PM2 will restarting MagicMirror...");
|
||||||
const pm2 = require("pm2");
|
|
||||||
pm2.restart(this.PM2, (err, proc) => {
|
pm2.restart(this.PM2, (err, proc) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
Log.error("updatenotification:[PM2] restart Error", err);
|
Log.error("updatenotification:[PM2] restart Error", err);
|
||||||
@ -171,7 +170,15 @@ class Updater {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const pm2 = require("pm2");
|
if (process.env.unique_id === undefined) {
|
||||||
|
Log.info("updatenotification: [PM2] You are not using pm2");
|
||||||
|
this.usePM2 = false;
|
||||||
|
resolve(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Log.debug(`updatenotification: [PM2] Search for pm2 id: ${process.env.pm_id} -- name: ${process.env.name} -- unique_id: ${process.env.unique_id}`);
|
||||||
|
|
||||||
pm2.connect((err) => {
|
pm2.connect((err) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
Log.error("updatenotification: [PM2]", err);
|
Log.error("updatenotification: [PM2]", err);
|
||||||
@ -187,13 +194,14 @@ class Updater {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
list.forEach((pm) => {
|
list.forEach((pm) => {
|
||||||
Log.debug(`[PM2] pm2 name: ${pm.name} -- in process env: ${process.env.name}`)
|
Log.debug(`updatenotification: [PM2] found pm2 process id: ${pm.pm_id} -- name: ${pm.name} -- unique_id: ${pm.pm2_env.unique_id}`);
|
||||||
Log.debug(`[PM2] pm2 pm_id: ${pm.pm_id} -- in process env: ${process.env.pm_id}`)
|
if (pm.pm2_env.status === "online" && process.env.name === pm.name && +process.env.pm_id === +pm.pm_id && process.env.unique_id === pm.pm2_env.unique_id) {
|
||||||
if (pm.pm2_env.status === "online" && process.env.name === pm.name && +process.env.pm_id === +pm.pm_id) {
|
this.PM2 = pm.pm_id;
|
||||||
this.PM2 = pm.name;
|
|
||||||
this.usePM2 = true;
|
this.usePM2 = true;
|
||||||
Log.info("updatenotification: [PM2] You are using pm2 with", this.PM2);
|
Log.info(`updatenotification: [PM2] You are using pm2 with id: ${this.PM2} (${pm.name})`);
|
||||||
resolve(true);
|
resolve(true);
|
||||||
|
} else {
|
||||||
|
Log.debug(`updatenotification: [PM2] pm2 process id: ${pm.pm_id} don't match...`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
pm2.disconnect();
|
pm2.disconnect();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user