我正在使用 Node 和 Redis,我需要向 Redis 添加订阅者以防事件发生。问题是我只希望处理发生一次......而且我真的很想只需要我的一个 fork 进程来监听 redis。
刚才我测试了看是否可以在另一个文件中创建一个新的集群并让它从那里开始,但没有任何乐趣。有人知道怎么做吗?
我正在运行最新的稳定版 Node (0.6.15)
这是我的代码(2 个文件):
clusterTest1:
---
var c2 = require('./clusterTest2');
console.log('clusterTest1');
//c2.test();
---
clusterTest2:
---
var cluster = require ('cluster');
console.log('clusterTest2');
if (cluster.isMaster) {
cluster.fork();
} else {
console.log('cluster spawned');
}
---
输出:
集群测试2 集群测试1 集群测试2 集群生成 clusterTest1
谢谢!
最佳答案
我找到了一个解决方法,使用 process.env.NODE_WORKER_ID。可以根据 NODE_WORKER_ID 运行不同的代码,这解决了我只有一个实例订阅消息的问题。
关于Node.js:通过 cluster.fork() 调用不同的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10176303/