我创建了一个Facebook风格的URL抓取器来发布内容。
当有人输入一个URL时,它会发送一个请求,在后端,我使用Nokogiri来抓取URL以提取信息来构建帖子。
它适用于所有其他网站,如apple.com、sony.com,但当我使用来自我的原始域("mywebsite.com")的链接时,它会超时,除了Heroku在30秒后超时请求外,不会显示任何错误。如果我在我的计算机上从本地主机上刮取我的域,它就可以工作了。
是否有某种来源规则阻止Nokogiri从同一域抓取来源页面?
我使用的是Ruby On Rails 3.1.10、Nokogiri 1.4.7和Heroku Cedar Stack。
抓取是在后台作业中运行还是通过web工作者运行?你只有1个测功机吗?如果你的应用程序只有一个网络工作者,那么它可能正忙于抓取,因此无法为页面提供服务。
试着将你的测功机缩放到2,看看问题是否仍然存在。
heroku ps:scale web=2