gpt4 book ai didi

ruby-on-rails - Rails - 非阻塞 HTTP 请求?

转载 作者:可可西里 更新时间:2023-11-01 15:23:51 26 4
gpt4 key购买 nike

我想显示一些通过 Ajax 加载的亚马逊产品。

我用 Ajax 调用了下面的方法,但是请求需要几秒钟的时间。

@items = []
@shows.shuffle.first(5).each do |show|
req = AmazonProduct["us"]
req.configure do |c|
c.key = "###"
c.secret = "###"
c.tag = "###"
end
req << { :operation => 'ItemSearch',
:search_index => params[:product_type],
:response_group => %w{ItemAttributes Images},
:keywords => show.name,
:sort => "" }
resp = req.get
@items << resp.find('Item').shuffle.first
end

我没有注意到此操作会阻止服务器。我试过在另一个选项卡中打开该网站。在 Ajax 调用的第一个选项卡完成之前,该选项卡不会开始加载。

我该如何着手解决这个问题?


设置:

Ubuntu 10.10
rails 3.1.1
ruby 1.9.2
gem :https://github.com/hakanensari/amazon_product

最佳答案

我怀疑这个阻塞是因为您在开发模式下使用默认的 Rails 服务器 Webrick 进行测试。

我的理解是 webrick 一次只能处理一个请求(这就是为什么不建议将其用于生产)。

生产级别的 Rails 服务器,如 Phusion Passenger,或混合/瘦服务器集群,将为您提供并发性:)

关于ruby-on-rails - Rails - 非阻塞 HTTP 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8123447/

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