2011-07-15 93 views
1

我有一个日志分析应用程序。当用户上传一个文件时,它会自动开始映射它以生成报告。这些文件很大,所以可能需要一些时间。我如何监控mapreduce进程,以便我可以指出某个文件仍在处理中,并能够指出何时完成?如何监控MongoDB mapreduce?

在启动进程之前,我已经可以标记文件了,但我似乎无法弄清楚在mapreduce结束时如何运行回调以表明它已完成。

我目前正在使用Mongoid的Rails。

回答

0

我不太了解Mongoid - 它的map-reduce helper不是一个阻塞的调用吗?或者你是以某种方式背景的?

Per the docs,您可以通过查询db.$cmd.sys.inprog来查看数据库中的所有当前操作,这些操作将显示有关当前map-reduce作业以及“普通”查询的信息。您可以根据其参数queryout找到识别正在运行的特定作业的方法。

+0

是的,事实证明这是一个阻塞呼叫。我没有注意到,因为我在一个异步使用的函数中调用它。 –