2012-02-15 79 views
0

我打算在几个字段上为我的1亿行(ruby on rails)数据库编制索引,问题是我无法知道这些迁移的进度。RoR:监控索引迁移

通常,如果我正在运行手动数据迁移,我会执行一个基本的i+=1;print("#{i},")以跟踪它的走向,并确保它仍在工作。

有谁知道是否有办法通过我的索引迁移来做这样的事情,所以我可以监控它的进度?

回答

1

您可以在一个进程中创建索引并在另一个进程中输出进度信息。它看起来像这样:

pid = fork { 

    # do index creation here 

} 

child_pid = nil 
begin 
    child_pid = Process.waitpid(pid, Process::WNOHANG) 

    # output progress info here 

end while child_pid.nil?