Rails 关于导入 Excel 文件进度的问题求助

beyondyuqifeng · 2014年11月25日 · 最后由 beyondyuqifeng 回复于 2014年11月25日 · 1895 次阅读

问题描述:

在 rails 页面上有一个 excel 导入功能,excel 导入后,需要在页面上显示导入的进度。excel 中一行会创建成一条 activerecord 或者更新一条已存在的 activerecord。整个导入过程是异步的。

问题:

我怎么在一个页面显示这个导入的进度(当前已经导入了多少行数据)? 自己是想可以通过页面每隔几秒发一个 ajax 请求去 check 进度,但是不知道这个进度的数值(已经导入的条数)应该放在哪里比较合适?(数据库,还是文件中还是有其他好的方法?)

ps:不能简单的通过数据库新增的条数来获取这个进度数值,因为有更新一条数据库记录这个情况

首先,你的程序是必须去维护进度这么一个数据的。 当开始处理时,你需要知道总共有多少条数据,还要维护一个当前以处理了多少条,这样就能知道进度了。 而你发起 ajax 来获取进度,那么你就需要有个地方来放这么一个进度的信息。

我建议你把这个信息放到 redis 里面去就好了,自己定义好 key 的规则就可以了。 或者说,你放到其他地方(文件、mysql 等等)都可以,反正就是需要有个地方能让另外一个进程拿到数据就可以了。

@hz_qiuyuanxin 好的,了解了,就是说,还是得把这个进度的数值存在一个地方咯,thx

需要 登录 后方可回复, 如果你还没有账号请 注册新账号