2010-12-08 2 views
1

、私は「内から」 並列度を記録したいと思います。コンソールでGoogleのApp Engineの一意のJVMインスタンスを識別するために、どのように/並列性を測定?重くタスクを使用してプロジェクトに

、私は、タスクの数百/数千人が エンキューされたときにGAEが自動的に(10〜12まで)のJVMの新しい インスタンスを起動していることがわかります。その後、彼らは正常に動作します。

しかし、私は 追跡可能と並列性の測定のためにどのインスタンス上で実行しなかったタスクを記録したいと思います。

私が一意に得ることができるGAEまたはシステムのプロパティはありますか は、特定のタスクが実行されているJVMを識別しますか?私の知る限り

よろしく ディディエ

答えて

3

を、これを行う方法で構築何もありません。ただし、UUIDなどの固有のものに初期化された静的変数を使用することができます。したがって、同じスタティックUUIDを持つ場合、2つのリクエストが同じランタイムで処理されたかどうかを確認できます。

+0

こんにちはニック、私がしようとするこのアイデアに感謝。その他の質問:GAEは、第1のJVMから要素を2番目に開始するときなどに要素を複製します。この静的なuuidは、クラスが新しいマシンで再ロード/複製されたときにもレプリケートされませんか?各JVMは、新鮮な起動され、独立して自分のクラスファイルをロードする - おかげで、それはそれをしない、 –

+1

@Didierいいえディディエ。 –

+1

ニックは、おかげで非常に多く、私は生きてそれを試してみるだろうし、ここで結果をポストバック –

1

This appは、あなたが始めるのに役立つかもしれない - 著者は新しいインスタンスを追跡を試してみたかった、とソースコードが含まれています。

AppEngineは、JVMとスレッドを自動的に起動および停止します。このアプリケーションは、いつ、いつ、どのようなデータが収集されるように設計されています。 それは、さまざまなスコープでUUIDとページアクセスカウンターや店舗、それらを作成します。

* in the Memcache 
* as a static field (in JVM memory) 
* as a ThreadLocal 
関連する問題