gpt4 book ai didi

ruby-on-rails - 将网络爬虫移动到后台 : Resque or Sidekiq

转载 作者:行者123 更新时间:2023-12-04 05:30:09 26 4
gpt4 key购买 nike

我有一个 Rails 应用程序,让用户上传一个 CSV 文件,其中包含要抓取的 URL 列表(有时是 200k)。然后在 Controller 中我会去这个文件的每一行,然后调用另一个方法,该方法接受 URL 和一些参数,然后在爬行方法完成后,将一些变量保存到几个模型中。下面是我的 Controller 的样子:

def import
if request.post? && params[:inputfile].present?
infile = params[:inputfile].read
CSV.parse(infile) do |row|
@crawler = Crawler.new(row[0])
@crawler.crawl #do the actual crawling using Mechanize Gem and set a few variable in the crawler object
#when crawl is done save a few stuff into some models
end
end
end

我需要将其移至后台(因此此过程不会保留我的整个 rails 应用程序),并且能够异步运行每一行的代码。我在想一些事情,比如把所有东西都放在一个队列中,然后在每一行的队列中排队……或类似的东西。我在想我可以为此使用 Resque 或 Sidekiq 吗?如果是这样,我应该从哪里开始?

最佳答案

听起来你做了足够多的挖掘,最终找到了正确的方向!我也会考虑到一个单独的后台工作系统。

Sidekiq 现在得到了更好的维护,多线程对您的用例非常有用,所以我会选择它。好的起点是 the Sidekiq homepagethis Railscast ,这两者都为您提供了大量信息,让您立即开始工作。

关于ruby-on-rails - 将网络爬虫移动到后台 : Resque or Sidekiq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12732782/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com