Nodejs redis列表弹出问题

时间:2015-09-02 08:10:44

标签: node.js list redis spawn

面对从nodejs弹出redis列表项的问题,下面是我想要实现的目标 -

目的

  • PHP正在redis列表中添加项目(已排序)并在频道上发布标记。
  • nodejs订阅了频道,一旦收到消息,它就会弹出列表中的所有项目。
  • 推出的项目被推送到一个spawn进程以逐一处理它,这意味着对于列表中的每个项目,将会有一个不同的进程被执行。

代码

main.js

subscribe.on("message", function (channel, message) {
     client.lrange('mylist', 0, -1, function (error, messages) {
         messages.forEach(function (message, key, _array) {
         child[i] = spawn('node', ['process.js', i], {detached: true});
         child[i].stdin.write(message);
     }
}

process.js

setTimeout(function () {
    console.log('done');
    client.quit();
    process.exit(0);
}, 2500);

问题

如果列表中有一个项目可以正常工作,但如果我终止该脚本并在列表中累积少量项目然后启动nodejs脚本,那么处理时会丢失列表中的少数项目。

0 个答案:

没有答案