1

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

4

1 回答 1

3

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

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

我刚刚运行的 AM/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 的进展情况。

于 2013-07-02T17:47:12.743 回答