创建NodeJS独立进程

时间:2016-02-06 09:44:27

标签: node.js service

我正在使用NodeJS开发一些东西,它可以作为我可以连接的服务运行。

假设我正在使用计算器npm模块。

我需要在我的回购中运行它,如下所示:

./node_modules/.bin/calculator start

我想让它继续运行永远,我可以以某种方式连接它(在端口上可能?)

所以,我可以使用另一个节点模块用计算器发送/接收消息,比如说'calculator-connector',例如如下:

var calcConnector = require('calculator-connector'),
    calc = calcConnector.connect();

calc.add(1, 2);

任何想法如何实现这种设计?

2 个答案:

答案 0 :(得分:1)

我会这样做:

计算器本身不应该是固定的,它将在何时何地运行。我只是在需要的时候创建它:

var calculator = require('calculator');
calculator.listen('localhost', 8000); // create the service listening on port 8000
// create client capable of submitting the tasks
calcClient = createCalculatorClient('localhost', 8000) 
calcClient.add(1,2)

我相信这样的设置是快速开发和调试的最佳选择。

当你需要真正分开的东西时(比如计算器本身将在一个单独的服务器上运行),你可以做一个简单的node脚本来运行计算器(基本上,它是前两行上面的片段然后创建简单的upstart作业(如果是debianish服务器,或其他平台上的一些替代),这将使脚本保持活着。

PS: 看看express的工作原理,设计精美: http://expressjs.com/

了解有关暴发户的更多信息: http://upstart.ubuntu.com/getting-started.html

答案 1 :(得分:1)

要永远运行calculator,您应该使用PM2Forever

  

PM2允许您永久保存应用程序,无需停机即可重新加载应用程序,以及促进常见的系统管理任务。

要进行连接,您可以创建httpTCP服务器。