0

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

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

我的模型解析器

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

这个问题被标记为重复,但我没有找到任何可以帮助我的东西,所以请帮忙。

4

1 回答 1

0

gem Progress Job看起来很有希望提供后台作业的进度更新。目前它看起来可以与 DelayedJob 一起使用。

于 2015-01-31T02:08:43.930 回答