2012-06-18 30 views
1

如何檢查MongoDB中正在運行的縮小地圖作業的狀態?我的代碼可以運行Mongo map reduce作業,但我想要一個狀態表,將作業列爲「進行中」或「完成」。我如何從Mongo DB獲取這些信息?檢查運行MongoDB map縮減作業的狀態

+0

你試過'db.currentOp()'嗎? –

+0

是的,這就是我要找的。但是,我怎麼知道哪些條目來自我的地圖/縮小?我沒有看到地圖減少返回一個opid。 –

+0

你可以發佈db.CurrentOp()的輸出嗎? – Jenna

回答

3

您可以使用db.currentOp()查詢所有正在運行的作業。

Usualy a Map/Reduce作業有幾個屬性可以查詢。

A 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 
}, 
... 

這就是你應該尋找什麼!特別是「味精」屬性,說明M/R的進展情況如何。