Nie wiem o żadnych wbudowanych funkcjach. Możesz jednak w osobnym skrypcie uruchomić db.currentOp()
raz na jakiś czas przeczytaj mapę, zmniejsz postęp i powiadom zainteresowane strony.
Oto przykład tego, co widzę:
> 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
}
]
}