use*_*506 5 node.js eventemitter pm2
我正在寻找向所有 PM2 集群传达消息的最简单方法,就像使用 eventEmitter“emit”和“on”函数一样简单。
我想避免使用 RabbitMQ 等第三方工具,而仅依赖本机 Node 或 NPM。到目前为止我已经看过了
我期待您的建议
你可以自己使用PM2
它用于访问所有 pm2 应用程序实例:
let pm2 = require('pm2');
var pm2_worker_ids = [];
pm2.connect(function (err) {
pm2.list(function (err, data) {
for (var i in data) {
if (data.hasOwnProperty(i)) {
pm2_worker_ids.push(data[i].pm2_env.pm_id);
}
}
pm2.disconnect(function () {});
});
});
Run Code Online (Sandbox Code Playgroud)
这是简单的发送事件:
if (pm2_worker_ids.hasOwnProperty(i)) {
let data = {yourData:"you can make custom data"};
pm2.sendDataToProcessId(pm2_worker_ids[i], {
type: 'some random text',
data: data,
id: pm2_worker_ids[i],
topic: 'some random text'
}, function (err, res) {});
}
Run Code Online (Sandbox Code Playgroud)
这是听你的事件:
process.on('message', function (data) {
console.log('your actual data object', data.data);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2822 次 |
| 最近记录: |