タグ

googleappengineに関するsin_cosのブックマーク (90)

  • Quota と 10 秒ルールのはざまで

    Quota と 10 秒ルールのはざまで Japanese Bloggers Info を公開してから一週間。現在、順調にユーザーが増えているところ。だけど、このままユーザーが増えても、無料の Quota 内でいけるのだろうかと少し心配に。 このアプリでは Update サーブレットが cron で 5 分間隔に呼ばれ、登録されているブログ情報を確認して、TaskQueue で Check サーブレットを呼び出す。 Check サーブレットでは Update サーブレットから渡されたパラメータ(Key String)をもとにブログ情報を確認し、その投稿フィードへアクセス。更新があればその内容をブログ情報へ格納。 登録ブログ分の Check サーブレットが全て動き終わると(MemcacheService.increment(Object, long) で確認)、Prepare サーブレットが

  • 【Google App Engine】 TaskQueueのスケーラビリティを阻害している原因について

    Request was aborted after waiting too long が出る理由 前記事の実行結果を見てもらえばわかるとおり、"Request was aborted after waiting too long・・"というエラーのせいで、処理が中断されてリトライが頻発しているものが多くある。これがTaskQueueのスケーラビリティを阻害しているのは間違いない。これは、queryの実行時間が10秒を超えると出るようである。(PDF生成処理Taskでは10秒を超えるものがあるのでtaskの経過時間というよりqueryの実行時間によるのだと思う。たぶん) 別にquotaを上回るような処理を流したつもりはないのになぜ出るのか。 この現象については、ココでも質問されているが、Googleからの返事はまだない。 total queue execution rateの定義 Taskの

    【Google App Engine】 TaskQueueのスケーラビリティを阻害している原因について
  • Java Cloud Meeting Tokyo 2010に行ってきた - pekeqのブログ

    Java Cloud Meeting Tokyo 2010に行ってきた。いろいろ聞いてきたけど、id:higayasuo さんのセッション「Google App Engineの質とSlim3による進化したサクサク開発」だけ軽く書き取ってきた。 今日は予定を変更して、AppEngineの質の話を全体的にやります。 AppEngineで誤解されがちなところ py/javaどっちがいいの?とか みんな結構気になっていて、pyマンセーみたいにチラホラ出ている 当のところもあれば誤解されているのもある。 今日はAppEngineはこういうもんだと全部理解して帰ってほしい 1.クラウドの質 皆さんも考えてみてください。1分くらいあげますんで。 世の中の記事とかとか、buzword的に取り上げられているけど 自分にとってのクラウドの質って 一般的にはスケールアウトと言われているのが多いと思い

    Java Cloud Meeting Tokyo 2010に行ってきた - pekeqのブログ
  • 5月25日(日本時間だと26日未明)に起きた障害についての事後検証

    Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message 松尾です。appengine team から前回の障害について検証レポートが出ましたので超訳して おきます。だいたい合ってると思いますが、心配な場合は原文も参照してくだ さい。 http://groups.google.com/group/google-appengine-downtime-notify/browse_thread/thread/5d8ce30efa259cce 5月25日 データストア障害の事後検証 ================================== 概要 ---- 5月25日に App

    sin_cos
    sin_cos 2010/06/11
    5/26 に起きてた障害の事後検証
  • グーグル、Google App Engineの利用拡大に追いつけていないと告白

    この数週間、Google App Engine(GAE)のデータストアは深刻な性能低下に見舞われており、しかも5月25日には45分間の障害も発生している、とグーグルGoogle App Engine Blogにポストされたエントリ「Datastore Performance Growing Pains」で報告しています。 この原因についてグーグルは、2カ月ごとに25%増のペースでデータストアの利用が拡大していることを挙げており、これを収容するためにデータセンターの拡張やデータセンター間での移動などの対応が行われているが、まだ追いついていないとのこと。 We have put other Datastore projects on hold to dedicate more people to accelerating improvements to Datastore performan

    グーグル、Google App Engineの利用拡大に追いつけていないと告白
    sin_cos
    sin_cos 2010/06/04
    ここ最近の性能低下とか。この先大丈夫なのか少しだけ心配です。
  • OpenID認証によるアクセス制御フィルタ - GeekFactory

    2010-06-05 お詫び:ソースコードに間違いがありましたので修正しました。OpenIDのIdentifierを取得するには getUserId() ではなく getFederatedIdentity() を使用してください。 データ変換タスクをTaskQueueに投入するページなど、開発者のみアクセスを許可したいURLにOpenID認証をかける方法を紹介します。 まず OpenID認証によるシングルサインオン - GeekFactory の通りにOpenID認証を有効にしておきます。この時点で認証は有効になっています。これから認可を設定しましょう。 例えば http://xxx.appspot.com/util/* は開発者のみアクセスを許可したい場合、web.xmlに以下を記述します。 <security-constraint> <web-resource-collection>

    OpenID認証によるアクセス制御フィルタ - GeekFactory
  • #appengine MapReduceを使ってみた - スティルハウスの書庫の書庫

    Google I/O 2010で発表されたApp Engine新機能のひとつが「AppEngine-MapReduce(Mapper API)」です。このブログでもいろいろ憶測に憶測を重ねてきましたが、ついにApp EngineでMapReduceサポート!!…なんですが、しかし発表されたセッション会場もいまいち盛り上がりに欠ける感じ^^;; 理由は後述しますが、ともあれ(jw)、やっとのことApp EngineでもMapReduceがサポートされたわけです。 リンク集 appengine-mapreduce - Google Code Google I/O 2010 - Batch data processing with App Engine - YouTube Live Wave: Batch data processing with App Engine Exploring the

    #appengine MapReduceを使ってみた - スティルハウスの書庫の書庫
    sin_cos
    sin_cos 2010/06/01
    MapReduce の動作テスト
  • Google AppEngine/Java + slim3 でフィード生成したときのメモ - ねじろぐ @drillbits

    以前は「Struts の Action を書くだけの簡単なお仕事」しかしてなかったので色々と鬼門が多い… 最近は AppEngine + Slim3 で細々と Web アプリを組んでるんだけど、HttpServlet を継承したクラスなんて書いたことないお…といった感じでハマってます。 というわけで色々試したり調べたりアドバイスをいただいて書いたことをメモ。 今日は AppEngine で BigTable にストアしたデータからフィードを生成して出力しました。 まず、通常のサーブレットであればこんな感じ(jdom使ってます import java.io.IOException; import java.io.Writer; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest

  • Google Code Archive - Long-term storage for Google Code Project Hosting.

  • OpenID認証によるシングルサインオン - GeekFactory

    App Engine 1.3.4でOpenID認証に対応しました。調べてみると意外と普通にシングルサインオンできたので、使い方と仕組みを説明します。 まず、OpenID認証を要求するURLパターンをweb.xmlに書きます。 <security-constraint> <web-resource-collection> <web-resource-name>Authentication required url</web-resource-name> <url-pattern>/user/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>*</role-name> </auth-constraint> </security-constraint> 例えば http://xxx.appspot.co

    OpenID認証によるシングルサインオン - GeekFactory
  • こっちは本物のMapReduceだ! グーグルがAppEngine-MapReduceをオープンソースで開発中

    こっちは物のMapReduceだ! グーグルがAppEngine-MapReduceをオープンソースで開発中 グーグルGoogle App Engine上でMapReduce処理を実現するオープンソースを開発中だと、先日行われたイベントGoogle I/Oで明らかにしています。プロジェクトのホームページもGoogle Code上に「appengine-mapreduce - Project Hosting on Google Code」として公開されています。 Reduce処理やJava版はこれから 1つ前の記事「グーグルによるMapReduceサービス「BigQuery」が登場。SQLライクな命令で大規模データ操作」では、グーグルSQLライクな命令を用いて大規模データ処理のサービスを提供することをお伝えしました。 記事でも書いたとおり、これは内部でMapReduceを使っているかど

    こっちは本物のMapReduceだ! グーグルがAppEngine-MapReduceをオープンソースで開発中
    sin_cos
    sin_cos 2010/05/25
    BigQuery よりもこっちの方にわくわくしてしまう。個人で試せそう?なので。
  • Song of Cloud: TaskQueueを使ってメールを送信する

    GAEにはMail送信サービスがあり、これを使ってEメールを送信することができます。 しかし、メール送信は必ず成功するとは限らないので、通常はメールを送信する際、送信の成功/失敗を確認し、失敗時には再送信するよう処理すると思います。 GAEでもそういう処理を書くことはできますが、「レスポンスを30秒以内に返さなければならない」という制約があるため、ひとつの処理の中で何度も繰り返すかもしれない処理を行うと、途中でタイムアウトとなり強制的に処理が中断されてしまう可能性があります。 そこで、より確実にメール送信を行うことができるよう、同じくGAEで使えるTaskQueueサービスを使いバックグラウンドでメール送信をする仕組みを作りました。 例えばあるフォームからPOSTされたときにメールを送信しようとした場合、 1. ServletでPOSTを受け取り、送信するメールの情報を作成 2. Task

    sin_cos
    sin_cos 2010/05/21
    taskqueue でメール送信
  • おっと萌えキャラの悪口はそこまでだ : GAE/J TaskQueue メモ

    2009年11月12日03:11 カテゴリプログラミングGAE GAE/J TaskQueue メモ GAEではTaskQueueなるものが使える。 処理をキューに積んで、アプリケーションとは非同期に処理させることが出来る。 キューはいくつか(?)用意できるので、仕事を分割して、キューに分散させて積んで並列に処理。 処理結果をMemCacheなりDatastoreなり保存して、最後にマージすることで、並列処理が出来るという寸法。 並列処理で力を発揮すると思われるTaskQueueは、排他がどうの、スケールがどうのと、 面倒なことを考えなければ簡単に使える。 TaskQueueもcronと同じようにURLを叩くだけ。アプリケーション中、任意のタイミングで、 URLとパラメータを指定してキューにaddするだけ。後はキューがパラメータ付きでURLにアクセスしてくれる。 // 静的

    sin_cos
    sin_cos 2010/05/21
    taskqueue の説明
  • 図解 インデックス爆発 - 後ろ回しゲロ

    Google App EngineのDatastoreにはインデックス爆発という現象があります。 こちらで公式に説明されているのですが、 http://code.google.com/intl/ja/appengine/docs/java/datastore/queriesandindexes.html#Big_Entities_and_Exploding_Indexes 自分にとってはすごく分かりにくく、理解するのにとても苦労しましたので、自分なりにメモを残しておきます。 まず2,3の前提を。 基的な事ですが用語が統一されてなくて惑わされましたw 複合インデックス=カスタムインデックス=コンポジットインデックス です。 またGoogle App Engine for Javaでは WEB-INF/appengine-generated/datastore-indexes-auto.xm

    図解 インデックス爆発 - 後ろ回しゲロ
    sin_cos
    sin_cos 2010/05/21
     インデックス爆発・・・
  • Sign in - Google Accounts

    Sign in - Google Accounts
  • Google App EngineがSQLデータベースをサポートへ。エンタープライズ向けサービスを拡充

    Google App EngineがSQLデータベースをサポートへ。エンタープライズ向けサービスを拡充 グーグルは5月19日(現地時間)に米サンフランシスコで開催されたイベント「Google I/O」の基調講演で、エンタープライズ向けにフォーカスした「Google App Engine for Business」を発表しました。その内容を紹介しましょう(基調講演の内容は、記事「[速報]Google I/Oで発表された4つのポイント:VP8オープンソース化/Chrome Web Store/VMwareとの協業/Google App Engine for Business」をご覧ください)。 基調講演で最後の発表者として壇上に立ったのは、グーグルのKevin Gibbs氏。App Engineがエンタープライズに受け入れられるようにするためには、いくつかのバリアを乗り越えなければならないと語

    Google App EngineがSQLデータベースをサポートへ。エンタープライズ向けサービスを拡充
    sin_cos
    sin_cos 2010/05/20
    『Google App EngineがSQLデータベースをサポートへ。』
  • Google App Engine / Java 「Mail API」 - Drop off Blog

    4ヵ月ぶりにブログをカキコ そろそろエンジニアっぽいブログにしていきたいところです。 前々からGAE/Jで開発を行っていたのですが、メール送信ではまってしまったのでメモしておきます。 たぶんみんなこことかここなんかを見てメール送信部分の実装をしているかなと思います。 自分は、上記のページを参考に実装するとはまる箇所が2つありました。 フォームからPOSTされたファイルを添付ファイルとして送れない メールの件名でWAVE DASH(〜)など機種依存文字が文字化けする かなり微妙な方法ですが、解決方法をメモしておきます。 まず、開発環境は以下を使います。 Eclipse3.4 JDK6 GAE/J 1.3.1 Slim3 いきなりメール送信部分 package com.pocketcloud.controller; import java.util.ArrayList; import java

    Google App Engine / Java 「Mail API」 - Drop off Blog
    sin_cos
    sin_cos 2010/05/19
    メールAPIサンプル
  • App Engine でメイル受信 - hidemonのブログ

    1.2.6で追加されたメイルの受信を試してみる.メイル受信機能は,XMPPの受信と同じでWeb hookで実現されている.つまり,メイルが来ると特定のURLに対するアクセスが発生して,それに対応するサーブレットが呼び出される.受信できるメイルアドレスは, 任意の文字列@アプリ名.appspotmail.comappspot.com ではなく,appspotmail.com であるところに注意.ディスパッチされるURLは /_ah/mail/アドレスつまり /_ah/mail/任意の文字列@アプリ名.appspotmail.comとなる.つまり個々のアドレスに対して別のサーブレットを割り当てることができるわけだが,普通は一つのサーブレットで処理することになるだろう. メイル受信に必要な行程は以下 appengine-web.xml でメイル受信を宣言 web.xmlで受信サーブレットを,/_

    App Engine でメイル受信 - hidemonのブログ
    sin_cos
    sin_cos 2010/05/19
    メール受信
  • Google App Engine for Java でメール受信 - 黒ニクル

    Google App Engin for Java でメール受信のサンプルを作ってみた。 実装 以下のサイトで紹介されている通りに実装して終了。 App Engine でメイル受信 - hidemonの日記 家は以下。ほぼ同じ内容。 Receiving Email - Google App Engine - Google Code ローカルで動作確認 プロジェクトを右クリックして、[Run As]-[3 Web Application]。 http://localhost:8888/_ah/admin にアクセス。 「Inbound Mail」からテストメールを送る。 あれれ、エラーが発生 javax.mail.internet.MimeMultipart cannot be cast to java.lang.Stringどうやら、msg.getContent()の返却値はMimeMu

    Google App Engine for Java でメール受信 - 黒ニクル
    sin_cos
    sin_cos 2010/05/19
    メール受信
  • GoogleAppEngineのダウンタイムはどれくらいなのか、公式アナウンスを元にまとめてみた - ikasamt

    GAEを導入しようとしてダウンタイムがどの程度なのか気になったので、 公式アナウンスをもとにまとめた(2009/04 -2010/05)。 雑感 ざっくり 定期メンテナンス:毎月1回程度。最近は日の早朝に行われることが多い。5:00AM-6:00AM(13:00PST-14:00) DS障害:1ヶ月 〜 3ヶ月に一度はありそう。数時間書き込み停止。 App障害:最近はほとんどない Cron障害:最近はほとんどない その他API障害:ほとんどない なのかな。 要するに 毎月数時間、突発的に起こるDS書込遅延を受け入れられるかどうか がGAE採用するかどうかのポイントになりそう。 例えば、SNSCGMサイトとかreadがwriteよりも圧倒的に多いサイトはOKだけど、ECサイトとか業務アプリみたいに書き込みが直接課金やサービスの質に繋がってるサイトでは慎重に考えた方がいい。お金を払ったら多

    GoogleAppEngineのダウンタイムはどれくらいなのか、公式アナウンスを元にまとめてみた - ikasamt
    sin_cos
    sin_cos 2010/05/17
    >> 毎月数時間、突発的に起こるDS書込遅延を受け入れられるかどうか。