2013-06-05

Blogger フィードを取ってくる GAE/J アプリで RuntimeException

最近あまり手を付けていなかった GAE/J アプリ Japanese Bloggers Info で、$1.0 / day を超えて 503 Over Quota(サービス停止)が頻発するようになった。

503 Over Quota on GAE/J

タスクキューで呼ばれた Blogger ブログのフィードの確認用サーブレットが何度も止まり、キューがいっぱいになるのが原因らしい。スタックトレースを見るとこんな感じ。

java.lang.RuntimeException: Unable to complete the HTTP request
at com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler$Connection.getHeader
at com.google.gdata.client.http.HttpGDataRequest.isOAuthProxyErrorResponse
at com.google.gdata.client.http.HttpGDataRequest.checkResponse
at com.google.gdata.client.http.HttpGDataRequest.execute
at com.google.gdata.client.http.GoogleGDataRequest.execute
at com.google.gdata.client.Service.getFeed
at com.google.gdata.client.GoogleService.getFeed

何で、急にこんな例外が出るようになったのかは不明だけれども、とりあえず、

http://example.blogspot.com/feeds/posts/summary?max-results=1&redirect=false

とブログ直下のフィードにアクセスさせていたのを、

http://www.blogger.com/feeds/BLOGID/posts/summary?max-results=1&redirect=false

と、Blogger にブログ ID を使って問い合わせてフィードを得る方法に変えてみたら(参考)、RuntimeException が出なくなった。ブログを登録してもらったときに、フィード URL のほかにブログ ID も保存していてよかったーと思った瞬間。…で、気になるお値段、Billing History もこの通り。

Billing History on GAE/J

日々の課金がみるみる減って、今は元の水準の $0.15 以内で推移している。どうせ最低でも週に $2.10 はかかる仕組みなので(参考)、日に $0.30 以内は許容範囲。釈然としないものをかかえつつも、とりあえずはめでたしと。

No comments:

Post a Comment