MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

È possibile ricevere notifiche sull'avanzamento della riduzione della mappa in mongo?

Non conosco alcuna funzionalità integrata. Tuttavia, puoi eseguire in uno script separato db.currentOp() ogni tanto, leggi la mappa, riduci i progressi e avvisa le parti interessate.

Questo è un esempio di ciò che posso vedere:

> 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
        }
    ]
}