解析器的Rails应用程序中的进度条

时间:2013-08-15 12:26:17

标签: css ruby-on-rails parsing twitter-bootstrap progress-bar

我制作了解析一个网站的rails应用程序。我想知道,是否有可能在进度条中显示解析过程,该进度条将显示在主页面上(要启动您需要单击按钮的过程)?我想我需要使用bootstrap来查看进度条,但是如何将执行过程本身传递到bar的视图中?

编辑: 解析器本身位于模型中,该模型在每个步骤i之后将结果存储到数据库。即如果解析器检测到第一家公司及其数据 - 保存,那么第二家公司等等。进度条将根据数据库中的信息显示结果(我不明白如何使用ajax),我真的想使用bootstrap进度条,而不是jquery bar。

我的模型解析器

class PrintingHouses < ActiveRecord::Base
require 'mechanize'

agent = Mechanize.new
page = agent.get('http://www.print-index.ru/default.aspx?p=84&gr=198')

sum=0

loop do
  page.search('.goodname .goodname').each do |n|
  link = Mechanize::Page::Link.new(n, agent, page)
  new = link.click
  name = new.search('#ctl00_ctl00_BaseCentralRegion_CentralRegion_lblGoodName h1')
  address = new.search('.address')
  phone = new.search('.phone')
  email = new.search('.email')
  website = new.search('.www')


  PrintingHouses.create(name: name.text.center(100), address: address.text.strip,
                       phone: phone.text.strip, email: email.text.strip,
                       website: website.text.strip)
end
num = page.search('.goodname .goodname').count
sum=sum+num
break unless link = page.link_with(:text => " » " )
page = link.click
end

puts sum

end

这个问题被标记为重复,但我没有找到任何可以帮助我的内容,请求帮助。

1 个答案:

答案 0 :(得分:0)

gem Progress Job看起来很有希望在后台作业上提供进度更新。此时看起来它适用于DelayedJob。