Pi Zero上的Node JS多个进程

时间:2019-05-13 14:00:50

标签: node.js raspberry-pi pm2

我在pi零运行的树莓拉伸lite上使用Node。

我基本上希望有两个进程在运行,一个进程是保持与服务器的连接打开以推送和接收消息(例如脱机状态),另一个是扫描iBeacons。

最好的做法是创建一个项目并拥有两个JSfile,然后使用PM2之类的东西分别启动它们吗?还是拥有两个完全独立的项目会更好?一种方法依赖于另一种,因为我将更新信标以通过打开的连接进行扫描。

2 个答案:

答案 0 :(得分:1)

如果将应用程序作为两个单独的进程运行,请PM2 allows you to control the startup of the two simultaneously through a JavaScript object, JSON, or YAML configuration file

例如,分别运行worker.jsapi.js脚本:

module.exports = {
  apps : [{
    name        : "worker",
    script      : "./worker.js",
    watch       : true
  }, {
    name       : "api-app",
    script     : "./api.js",
    instances  : 4,
    exec_mode  : "cluster"
  }]
}

从这种意义上讲,您可以将它们保留为一个项目,然后使用带有PM2的单个配置文件将它们一起启动。

如果您的应用程序的复杂性达到最好将它们拆分的程度,那么以后也可以这样做。

答案 1 :(得分:0)

由于您可能会收到检测到的信标的回调并且频率不会很高,因此我将其实现为一个过程。使用信标的棘手事情是处理避免“卡顿”的进入/退出区域,因此,如果您现在需要这样的粒度,则每个检测到的计时器最好有一个计时器来跟踪进入/离开远/近/近。 >