异步屏幕抓取页面并使用Active Record存储它们?

时间:2012-07-23 23:45:34

标签: ruby activerecord concurrency screen-scraping

我需要使用ActiveRecord筛选一堆页面并将它们存储在数据库中。我使用EventMachine和Typhoeus搞砸了但是我得到了不稳定的结果,大多是神秘的空记录被保存。

诀窍是什么?抓取页面并将它们写入磁盘,然后将它们插入到数据库中,我获得了最好的结果,但我真的很想一次性完成。

有人这样成功吗?

1 个答案:

答案 0 :(得分:1)

我的猜测是你的线程正在共享一个AR连接。这将导致问题,无论如何,并发性不会更快地将记录记录到数据库中。我建议你同时下载并将它们插入一个线程中(就像你一直在做的那样。)