タグ : API

[Ruby on Rails]楽天WEBサービスの503エラーについて

 先日から楽天WEBサービスから利用している楽天APIで商品検索を実行すると以下のようなエラーが発生する問題が起きています。 503 Service Unavailable  このエラー自体はよく見かけるエラーですが、少し前から頻発してました。この件についての公式リリースはこちらです。 RWS開発日記 — 503エラーに関するお問合せについて - 楽天ウェブサービスの開発・運用チームのブログ -  こちらのリリースを読むと、どうやら1秒間に1リクエスト以上実行すると503エラーとなり、しばらくは利用できなくなる…ということらしいです。まぁその仕様変更自体はしかたがないので、リクエスト実行前に1秒停止するロジックを追加し、1秒に1回以下に絞ってみました。 options_query_encoded = URI.encode(options_query) # URI.encodeでは'=+'が変換されないので、手動で置換する options_query_encoded = options_query_encoded.gsub(/=\+/,'=%2B') search_request_url = "#{@request_url}?#{@developer_id_query}#{@affiliate_id_query}#{options_query_encoded} &operation=ItemSearch&version=2009-04-15".gsub!("\n","").gsub!(" ","") @search_request = search_request_url #2009/11/13 リクエストの回数制限対応 sleep 1 xml_result = open(@search_request)  しかしやっぱり503エラーになってしまいます。しょうがないので解決するまで一時的に楽天APIの使用を停止することにしました。…まったく勘弁してください。 - [ 続きを読む ]