New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

pm

Package Overview
Dependencies
Maintainers
2
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pm

Process Manager for Node.js, branched from node-cluster.

  • 2.2.6
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
2
Created
Source

npm version Build Status Coverage Status npm download

About

pm 是一个轻量级的Node.js多进程管理器,基于之前的node-cluster重构而来,在淘宝内部的生产系统中得到了广泛的应用.

  • 基于 master + worker 模式,master负责进程管理,worker 处理业务逻辑,有效利用现代服务器的多CPU;
  • 同一 master 可管理多种类型的worker, 并且支持在不同类型的 worker 之间进行轻量的消息传递;
  • 同一类型的 worker ,对于TCP请求,采用抢占式的方式进行负载均衡;
  • 平滑退出和 不退出前提下的 worker 进程重载 (reload).

Api

  • Visit the wiki page to get more infomation about pm.
  • Also, we supply demo scripts in the code directory demo.

Install

$ npm install pm

Benchmark


$ siege -b -c100 -t 60S http://172.0.0.2:33749/
  • QPS (only one child, http server, response req.url) (node0.6.17):
CASEClosedKeepAlive
pm2.0560010553
pm1.0523110388
node548110126

Usage

  • in master.js, run as master:
var app = require('pm').createMaster({
 'pidfile' : '/tmp/demo.pid',
});

app.register('group1', __dirname + '/http.js', {
 'listen' : [8080, 8081], 
 'addr': '127.0.0.1' // it uses '0.0.0.0' by default
});

app.on('giveup', function (name, num, pause) {
  // YOU SHOULD ALERT HERE!
});
app.dispatch();

  • in http.js, run as worker:
var http = require('http').createServer(function (req, res) {
 res.end('hello world');
});

require('pm').createWorker().ready(function (socket, port) {
 http.emit('connection', socket);
});

Contributors

Thanks goes to the people who have contributed code to this module, see the GitHub Contributors page.

Below is the output from git-summary

 project: pm
 commits: 91
 files  : 27
 authors: 
    86	aleafs                  94.5%
     4	wanglang                4.4%
     1	fengmk2                 1.1%

License

pm is published under MIT license. See license text in LICENSE file.

Keywords

FAQs

Package last updated on 09 Dec 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc