Pi 上的 Node JS 零多个进程
Node JS on a Pi Zero multiple processes
我在 pi 零上使用 Node 运行 raspbian stretch lite。
我基本上想要有两个进程运行,一个进程是保持与服务器的连接打开以推送和接收离线状态等消息,另一个是扫描iBeacons。
创建一个项目并拥有两个 JS 文件并使用 PM2 之类的工具分别启动它们是否是最佳做法?或者有两个完全独立的项目会更好吗?一个过程依赖于另一个过程,因为我将更新信标以通过打开的连接进行扫描。
如果您运行将应用程序作为两个单独的进程,PM2 allows you to control the startup of the two simultaneously through a JavaScript object, JSON, or YAML configuration file。
例如,运行 分别是 worker.js
和 api.js
脚本:
module.exports = {
apps : [{
name : "worker",
script : "./worker.js",
watch : true
}, {
name : "api-app",
script : "./api.js",
instances : 4,
exec_mode : "cluster"
}]
}
从这个意义上说,您可以将它们作为一个单独的项目,然后使用带有 PM2 的单个配置文件一起启动它们。
如果您的应用程序复杂到将它们分开可能更好的地步,您也可以稍后再做。
由于您可能会收到检测到的信标的回调,而且频率不会很高,所以我会把它作为一个过程来实现。信标的棘手之处在于处理避免 "stuttering" 的 entering/exiting 区域,因此最佳情况下,每个检测到的计时器都有一个计时器来跟踪 entering/exiting far/near/immediate,如果您现在需要这样的粒度。
我在 pi 零上使用 Node 运行 raspbian stretch lite。
我基本上想要有两个进程运行,一个进程是保持与服务器的连接打开以推送和接收离线状态等消息,另一个是扫描iBeacons。
创建一个项目并拥有两个 JS 文件并使用 PM2 之类的工具分别启动它们是否是最佳做法?或者有两个完全独立的项目会更好吗?一个过程依赖于另一个过程,因为我将更新信标以通过打开的连接进行扫描。
如果您运行将应用程序作为两个单独的进程,PM2 allows you to control the startup of the two simultaneously through a JavaScript object, JSON, or YAML configuration file。
例如,运行 分别是 worker.js
和 api.js
脚本:
module.exports = {
apps : [{
name : "worker",
script : "./worker.js",
watch : true
}, {
name : "api-app",
script : "./api.js",
instances : 4,
exec_mode : "cluster"
}]
}
从这个意义上说,您可以将它们作为一个单独的项目,然后使用带有 PM2 的单个配置文件一起启动它们。
如果您的应用程序复杂到将它们分开可能更好的地步,您也可以稍后再做。
由于您可能会收到检测到的信标的回调,而且频率不会很高,所以我会把它作为一个过程来实现。信标的棘手之处在于处理避免 "stuttering" 的 entering/exiting 区域,因此最佳情况下,每个检测到的计时器都有一个计时器来跟踪 entering/exiting far/near/immediate,如果您现在需要这样的粒度。