railsでAmazon-ecsがAmazon::RequestError (HTTP Response: 503 Service Unavailable)となるとき
症状
railsにamazon-acsをrequireして商品情報検索してるのに
hoge_controller.rb
class HogehogeController < ApplicationController
def hoge
@res = Amazon::Ecs.item_search('9784797372274',
:search_index => 'Books',
:response_group => 'Medium',
:country => 'jp'
)
end
end
viewでインスタンス参照すると
hoge.html.erb
<%= @res.first_item.get('ItemAttributes/Title') %>
<img src="<%= @res.first_item.get('MediumImage/URL') %>" />
Amazon::RequestError (HTTP Response: 503 Service Unavailable)
となってうまくいかない
原因
リクエストの間隔が短いのがいけないらしい
今回の場合controllerとviewでそれぞれリクエスト送っているので間隔を開ければ良い
hoge_controller.rb
class HogehogeController < ApplicationController
def hoge
@res = Amazon::Ecs.item_search('9784797372274',
:search_index => 'Books',
:response_group => 'Medium',
:country => 'jp'
)
sleep(1) #これを追加,最適な秒数はよくわかりません
end
end
追記
よく考えたら普通にcontroller内でリクエストの内容をインスタンス変数に代入すればそもそもviewでリクエストする必要ない
お世話になったサイト
Author And Source
この問題について(railsでAmazon-ecsがAmazon::RequestError (HTTP Response: 503 Service Unavailable)となるとき), 我々は、より多くの情報をここで見つけました https://qiita.com/hurukiyokimura/items/dde8d43a36e3f47b7c32著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .