检查运行MongoDB map reduce作业的状态

时间:2012-06-18 19:26:28

标签: mongodb mapreduce

如何检查Mongo DB中运行map reduce作业的状态?我的代码可以运行Mongo map reduce作业,但是我想要一个状态表,将作业列为“进行中”或“完成”。如何从Mongo DB获取该信息?

1 个答案:

答案 0 :(得分:3)

您可以使用db.currentOp()查询所有正在运行的作业。

通常,Map / Reduce作业有一些您可以查询的属性。

我刚刚运行的M / R工作有以下统计数据:

"opid" : 258101377,
"active" : true,
"secs_running" : 4638,
"op" : "query",
"ns" : "<database>.<collectionname>",
"query": {
    "mapreduce": "<collectionname>",
    "map": function <randomname>() { ... },
    "reduce": function <randomname>(k, v) { ... },
    "out": { ... }
}
"msg":  "m/r: (1/3) emit phase 1235099/11558528 10%",
"progress" : {
    "done" : 1235099,
    "total" : 11558528
},
...

这就是你应该寻找的!特别是“msg”属性,它说明了M / R的进展情况。