Node.JS - ChildProcess错误

时间:2014-07-11 19:27:08

标签: javascript node.js mongodb coffeescript child-process

就像我的标题所说,我正在尝试将Mongo-Watch模块(https://github.com/TorchlightSoftware/mongo-watch)和Variety模块(https://github.com/variety/variety)结合起来,以便我可以让Variety返回MongoDB的所有键它被修改后的集合。因为Variety是一个命令行工具,我使用childspawn.exec来启动它(它会将结果转储到另一个MongoDB集合中)。

当下面的代码运行时,似乎启动命令任意次数,直到我得到“错误:生成EMFILE”。有什么想法吗?

如果我自己运行“exec(cmd ...)”,而不将其包装在观察者中,它将按原样运行 - 这是一次。 如果我用cmd替换一个简单的“ls”(比如Unix ls命令),它可以很好地工作,显示一个ls调用的结果。

谢谢!

var cmd = "mongo " + config.dbUrl + " --eval " + '\"var collection = \'' + config.collect[0] + '\'\"' + " variety.js "
var target = db[config.collect[0]]; //eg. varietyResults.test3
watcher.watch(target, function(event) { //Watch Mongo oplog for any changes to source
   exec(cmd, function(err, stdout, stderr) {
        console.log(stdout);
        })
 });

0 个答案:

没有答案