Mapreduce 在浏览器中运行延迟作业的最佳方法
我必须开发一个API,它在后台执行一些map-reduce作业,然后返回结果。它是一个带有Riak No sql数据库的sinatra应用程序。问题是,作业运行大约需要5-10分钟。请求在这段时间内超时。在后台运行此类工作的最佳方式是什么 您可以使用操作系统计划程序Mapreduce 在浏览器中运行延迟作业的最佳方法,mapreduce,sinatra,delayed-job,riak,Mapreduce,Sinatra,Delayed Job,Riak,我必须开发一个API,它在后台执行一些map-reduce作业,然后返回结果。它是一个带有Riak No sql数据库的sinatra应用程序。问题是,作业运行大约需要5-10分钟。请求在这段时间内超时。在后台运行此类工作的最佳方式是什么 您可以使用操作系统计划程序 类似于DelayedJob的东西,上面有一层类似Redis的东西(用于跟踪作业状态),可通过唯一的路由(您的Sinatra API)访问。然后创建一个不同的页面(浏览器客户端的网页),通过AJAX调用API,并定期轮询它。这是一个r
类似于DelayedJob的东西,上面有一层类似Redis的东西(用于跟踪作业状态),可通过唯一的路由(您的Sinatra API)访问。然后创建一个不同的页面(浏览器客户端的网页),通过AJAX调用API,并定期轮询它。这是一个ruby应用程序,运行在mac机器上。数据集是否足够大(要分析的数据不适合RAM),您真的需要MapReduce,或者您是否使用它在Riak中查询任意数据?为关键/价值建立适当的数据模型比一切都依赖MapReduce要好得多;正如您所注意到的,MapReduce更适合于批处理作业。