MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Ist es möglich, Benachrichtigungen über den Kartenfortschritt in Mongo zu erhalten?

Ich kenne keine integrierten Funktionen. Sie könnten jedoch in einem separaten Skript db.currentOp() ausführen Lesen Sie ab und zu den Fortschritt der Kartenreduzierung und benachrichtigen Sie die betroffenen Parteien.

Dies ist ein Beispiel dafür, was ich sehen kann:

> db.currentOp()
{
    "inprog" : [
        {
            "opid" : 249198781,
            "active" : true,
            "lockType" : "read",
            "waitingForLock" : false,
            "secs_running" : 14,
            "op" : "query",
            "ns" : "mydb.mycoll",
            "query" : {
                "mapreduce" : "mycoll",
                "map" : function cf__9__f_() {
    emit(this.aid, 1);
},
                "reduce" : function cf__10__f_(k, vals) {
    var result = 0;
    vals.forEach(function (v) {result += v;});
    return result;
},
                "out" : {
                    "inline" : 1
                }
            },
            "client" : "127.0.0.1:44254",
            "desc" : "conn",
            "threadId" : "0x7e98f24e4700",
            "connectionId" : 1958947,
            "msg" : "m/r: (1/3) emit phase 644165/7670157 8%",
            "progress" : {
                "done" : 644165,
                "total" : 7670157
            },
            "numYields" : 644
        }
    ]
}