Properly detect PM2 manager process instead of using a hardcoded ID
This commit is contained in:
		
							parent
							
								
									341f89cda5
								
							
						
					
					
						commit
						c3b97c121e
					
				
					 2 changed files with 56 additions and 42 deletions
				
			
		
							
								
								
									
										13
									
								
								app.js
									
										
									
									
									
								
							
							
						
						
									
										13
									
								
								app.js
									
										
									
									
									
								
							| 
						 | 
					@ -164,12 +164,18 @@ esmBot ${esmBotVersion} (${process.env.GIT_REV})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // PM2-specific handling
 | 
					  // PM2-specific handling
 | 
				
			||||||
  if (process.env.PM2_USAGE) {
 | 
					  if (process.env.PM2_USAGE) {
 | 
				
			||||||
 | 
					    // callback hell :)
 | 
				
			||||||
    pm2.launchBus((err, pm2Bus) => {
 | 
					    pm2.launchBus((err, pm2Bus) => {
 | 
				
			||||||
      if (err) {
 | 
					      if (err) {
 | 
				
			||||||
        logger.error(err);
 | 
					        logger.error(err);
 | 
				
			||||||
        return;
 | 
					        return;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					      pm2.list((err, list) => {
 | 
				
			||||||
 | 
					        if (err) {
 | 
				
			||||||
 | 
					          logger.error(err);
 | 
				
			||||||
 | 
					          return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        const managerProc = list.filter((v) => v.name === "esmBot-manager")[0];
 | 
				
			||||||
        pm2Bus.on("process:msg", async (packet) => {
 | 
					        pm2Bus.on("process:msg", async (packet) => {
 | 
				
			||||||
          switch (packet.data?.type) {
 | 
					          switch (packet.data?.type) {
 | 
				
			||||||
            case "reload":
 | 
					            case "reload":
 | 
				
			||||||
| 
						 | 
					@ -189,8 +195,8 @@ esmBot ${esmBotVersion} (${process.env.GIT_REV})
 | 
				
			||||||
              endBroadcast(client);
 | 
					              endBroadcast(client);
 | 
				
			||||||
              break;
 | 
					              break;
 | 
				
			||||||
            case "serverCounts":
 | 
					            case "serverCounts":
 | 
				
			||||||
            pm2.sendDataToProcessId(0, {
 | 
					              pm2.sendDataToProcessId(managerProc.pm_id, {
 | 
				
			||||||
              id: 0,
 | 
					                id: managerProc.pm_id,
 | 
				
			||||||
                type: "process:msg",
 | 
					                type: "process:msg",
 | 
				
			||||||
                data: {
 | 
					                data: {
 | 
				
			||||||
                  type: "serverCounts",
 | 
					                  type: "serverCounts",
 | 
				
			||||||
| 
						 | 
					@ -205,6 +211,7 @@ esmBot ${esmBotVersion} (${process.env.GIT_REV})
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // connect to lavalink
 | 
					  // connect to lavalink
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -98,8 +98,14 @@ export function getServers(bot) {
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        pm2Bus.on("process:msg", listener);
 | 
					        pm2Bus.on("process:msg", listener);
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
      pm2.sendDataToProcessId(0, {
 | 
					      pm2.list((err, list) => {
 | 
				
			||||||
        id: 0,
 | 
					        if (err) {
 | 
				
			||||||
 | 
					          reject(err);
 | 
				
			||||||
 | 
					          return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        const managerProc = list.filter((v) => v.name === "esmBot-manager")[0];
 | 
				
			||||||
 | 
					        pm2.sendDataToProcessId(managerProc.pm_id, {
 | 
				
			||||||
 | 
					          id: managerProc.pm_id,
 | 
				
			||||||
          type: "process:msg",
 | 
					          type: "process:msg",
 | 
				
			||||||
          data: {
 | 
					          data: {
 | 
				
			||||||
            type: "getCount"
 | 
					            type: "getCount"
 | 
				
			||||||
| 
						 | 
					@ -108,6 +114,7 @@ export function getServers(bot) {
 | 
				
			||||||
        }, (err) => {
 | 
					        }, (err) => {
 | 
				
			||||||
          if (err) reject(err);
 | 
					          if (err) reject(err);
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      resolve(bot.guilds.size);
 | 
					      resolve(bot.guilds.size);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue