我有一个日志分析应用程序。当用户上传文件时,它会自动开始映射以生成报告。这些文件很大,所以可能需要一些时间。如何监视mapreduce进程,以便我可以指示某个文件仍在处理中并且能够指示它何时完成?
我可以在启动流程之前将文件标记为正在进行中,但是当mapreduce结束时我似乎无法弄清楚如何运行回调以表明它已完成。
我目前正在使用带有Mongoid的Rails。
答案 0 :(得分:0)
我不太了解Mongoid - 它的map-reduce helper不是阻塞调用吗?或者你以某种方式背景?
Per the docs,您可以通过查询db.$cmd.sys.inprog
来查看数据库上的所有当前操作,query
将显示有关当前map-reduce作业以及“普通”查询的信息。您可能能够找到一种方法来根据out
或{{1}}参数来确定正在运行的特定作业。