我正在寫一個正在等待消息的應用程序,然後會執行一些操作。消息通過Redis頻道接收。所以,我需要nodejs腳本無限運行(據我所知)永遠運行節點腳本
我怎樣才能使它運行,而無需啓動節點服務器(我覺得啓動服務器這樣一個簡單的任務是錯誤的)。
代碼:
const redis = require("redis")
const subscriber = redis.createClient()
const http = require('http');
const hostname = '127.0.0.1';
const port = 3002;
subscriber.on("message", (channel, message) => {
console.log(Buffer.from(message, 'base64'));
})
subscriber.subscribe('test')
// Server code, which i was using to start infinity loop
//
// const server = http.createServer((req, res) => {
// res.statusCode = 200;
// res.setHeader('Content-Type', 'text/plain');
// res.end('Hello World\n');
// });
//
// server.listen(port, hostname,() => {
// console.log(`Server running at http://${hostname}:${port}/`);
// });
所以你希望節點服務器在運行時運行? – 2016-08-02 04:01:13
只要有套接字連接,監聽服務器或等待計時器,節點進程就會保持運行。如果你的應用至少沒有其中一個,那麼無論如何它都不可能真的做任何事情。如果您的redis頻道訂閱是與某個其他服務器進程的連接,那麼只要您擁有該連接,您的節點應用就應該繼續運行。 – jfriend00