美文网首页
【pm2 - sdk 集成到程序中,典型用法】

【pm2 - sdk 集成到程序中,典型用法】

作者: wn777 | 来源:发表于2024-05-26 21:27 被阅读0次

pm2作为一款进程管理神器,除了命令行的启动方式外,其还对应有sdk,集成到程序中,我们可以更加连接到已有或创建pm2的守护进程,与其进行交互,动态,编程式地控制程序的启停等。以下为示例:

示例

假设有个 http server程序,

//  server.js
let port = process.env.port ? process.env.port : 8000;
const http = require("node:http");
http
  .createServer((req, res) => {
    let workerPid = process.pid;
    res.writeHead(200);
    res.end(`hello world, I am worker ${workerPid}\n`);
  })
  .listen(port);

典型用法如下,

const pm2 = require("pm2");
// This will spawn or connect to local PM2
// Either connects to a running pm2 daemon (“God”) or launches and daemonizes one.
// 1. connect
pm2.connect(function (err) {
  if (err) {
    console.error(err);
    process.exit(2);
  }

  pm2.start(
    {
      script: "server.js",
      name: "http-server",
    },
    function (err, apps) {
      if (err) {
        console.error(err);
        return pm2.disconnect();
      }

      // 2. list
      pm2.list((err, list) => {
        console.log(err, list);
        // 3. restart
        pm2.restart("http-server", (err, proc) => {
          // 4. disconnect
          // Disconnects from PM2
          pm2.disconnect();
        });
      });
    }
  );
});

1,connect: 连接到 pm2 守护进程 或 启动一个新的 pm2 守护进程。
2,list: 获取当前 pm2 管理的所有进程列表。
3,restart: 重启指定的应用。
4,disconnect: 断开与 pm2 守护进程的连接, 注意断开后,启动的程序还在。

如果想这段程序退出时,对应启动pm2程序也退出,可以加上这段代码

// graceful exit
process.on("SIGINT", function () {
  pm2.stop("http-server", (err, proc) => {
    console.log(err, proc);
    // process.exit
    process.exit(0);
  });
});

相关文章

  • IOS 极光推送角标问题

    IOS SDK集成不多说,官网写的很详细。 IOS SDK集成 运行程序,如果出现以下图片内容,就证明成功了 因为...

  • 环信UI3.0的集成方法

    介绍一下把环信EaseUI集成到项目中的具体实现步骤。 1.集成UI之前要把环信的SDK集成到项目中,环信SDK有...

  • Android第三方推送

    极光推送 开发者集成 JPush Android SDK 到其应用里,JPush Android SDK 创建到 ...

  • 微信小程序集成环信sdk介绍

    环信小程序SDK简介 环信小程序 SDK 为小程序开发提供一套完整的技术解决方案,在微信小程序的开发环境下,集成 ...

  • 日志上报系统Kafka消息队列优化实践(上)

    背景 接入方需在小程序中集成错误收集SDK,SDK采集到错误后需上报数据,为保证数据的实时更新,平台接收到数据后需...

  • iOS集成支付宝和微信支付SDK

    1. 支付宝SDK集成 实现思路:1.下载支付宝SDK2.集成SDK到项目中,参考官方集成文档。3.调起支付宝SD...

  • 解决华为eSpace SDK那些让人头疼编译错误

    集成华为的eSpace SDK 时,编译华为提供的demo程序,SDK里面有三个文件编译报错:DBContact....

  • 语音识别

    SDK下载离在线语音识别 Android SDK文档结合demo认真阅读 集成指南 1、DEMO 中已经集成了 S...

  • Bugly Android SDK 使用指南

    集成SDK在Module的build.gradle文件中添加依赖和属性配置: 同时集成SDK和NDK在Module...

  • iOS机器学习

    核心ML 将机器学习模型集成到您的应用程序中。 使用Core ML,您可以将训练有素的机器学习模型集成到应用程序中...

网友评论

      本文标题:【pm2 - sdk 集成到程序中,典型用法】

      本文链接:https://www.haomeiwen.com/subject/adfcqjtx.html