Ruby on Rails有大量的sql查询

时间:2014-08-19 17:49:35

标签: ruby-on-rails ruby multithreading

我正在构建一个查询api的应用程序,它将api的输出保存到数据库中。 这不是火箭科学,它正在发挥作用,但随着数据量的增长,插入速度变慢。

我有一个简单的表单,它接受一个关键字,该关键字被添加到api字符串中以获取所有关键字。我现在想在屏幕上显示api的结果,以便用户可以选择要保留的结果。

我在代码中添加了线程,因此插入更快。

有没有办法在所有线程完成后触发操作?

由于

1 个答案:

答案 0 :(得分:0)

最简单的方法是加入线程池中的所有线程,这实际上是等待它们完成:

threadpool = []

threadpool << Thread.new { do_stuff }
threadpool << Thread.new { do_more }

threadpool.map &:join # wait for all threads to finish
do_final_stuff # code below the join can only run when all threads finish

但那就是你使用普通线程。