2016-02-06 96 views
1

我正在使用NodeJS進行某些操作,該操作旨在作爲可與之連接的服務運行。創建NodeJS獨立進程

假設我正在使用Calculator npm模塊。

我將需要爲以下我的回購中運行它:(?端口可能)

./node_modules/.bin/calculator start 

而且我希望保持它的運行永遠,我能以某種方式將它連接

所以,我可以使用另一個節點模塊發送/接收消息,比如'calculator-connector',例如:

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

calc.add(1, 2); 

任何想法如何實現這一設計?

回答

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腳本,它將運行計算器(基本上,它是頭兩行代碼片段以上),然後創建簡單的新貴作業(在debianish服務器的情況下,或在其他平臺上的一些替代品),這將保持腳本活着。

PS: 退房如何express的作品,它的設計精美: http://expressjs.com/

閱讀更多關於新貴: http://upstart.ubuntu.com/getting-started.html

1

要運行calculator永遠,你應該使用PM2Forever

PM2可以讓你保持應用程序永遠活着,要重新加載它們無需停機,也有助於普通的系統管理任務。

對於連接,您可以創建一個httpTCP服務器。