MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

É possível obter notificações de progresso de redução de mapa no mongo?


Eu não sei sobre nenhum recurso interno. Você pode, no entanto, em um script separado, executar db.currentOp() de vez em quando, leia o progresso do mapa-redução e notifique as partes interessadas.

Este é um exemplo do que posso ver:
> 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
        }
    ]
}