google.appengine.ext.ndb.context モジュール
概要
Context クラス
内容
- class google.appengine.ext.ndb.context.Context(conn=None, auto_batcher_class=google.appengine.ext.ndb.context.AutoBatcher, config=None, parent_context=None)ソース
-
ベース: オブジェクト
- allocate_ids(*args, **kwds)ソース
- call_on_commit(callback)ソース
-
トランザクションの commit が成功するとコールバックを呼び出します。
トランザクションでない場合は、コールバックはすぐに呼び出されます。
トランザクションでは、複数のコールバックが登録され、トランザクションが commit されると、登録された順序で呼び出されます。トランザクションが失敗した場合、コールバックは呼び出されません。
コールバックが例外を発生させた場合は、通常と同じく上位階層へ伝達されます。つまり、コールバックがすぐに呼び出された場合、それが発生させた例外もすぐに上位階層へ伝達されます。commit するまで呼び出しが延期された場合、残りのコールバックはスキップされ、例外は transaction() コールによって上位階層へ伝達されます(ただし、その時点でトランザクションはすでに commit されています)。
- clear_cache()ソース
-
メモリ内キャッシュをクリアします。
注: これは memcache には影響しません。
- static default_cache_policy(key)ソース
デフォルトのキャッシュ ポリシー。
これは、Model クラスの _use_cache に従います。
パラメータkey – キー インスタンス。
戻り値ブール値または None。
- static default_datastore_policy(key)ソース
デフォルトのデータストア ポリシー。
これは、Model クラスの _use_datastore に従います。
パラメータkey – キー インスタンス。
戻り値ブール値または None。
- static default_memcache_policy(key)ソース
デフォルトの memcache ポリシー。
これは、Model クラスの _use_memcache に従います。
パラメータkey – キー インスタンス。
戻り値ブール値または None。
- static default_memcache_timeout_policy(key)ソース
デフォルトの memcache タイムアウト ポリシー。
これは、Model クラスの _memcache_timeout に従います。
パラメータkey – キー インスタンス。
戻り値使用する memcache タイムアウト(整数)、または None。
- delete(*args, **kwds)ソース
- flush(*args, **kwds)ソース
- get(*args, **kwds)ソース
エンティティ キーを指定して Model インスタンスを返します。
指定されたキーのキャッシュ ポリシーが有効な場合、コンテキスト キャッシュが使用されます。
パラメータ-
key – キー インスタンス。
-
**ctx_options – コンテキスト オプション。
キーがデータストアに存在する場合は Model インスタンス。そうでない場合は None。
-
- get_cache_policy()ソース
現在のコンテキスト キャッシュ ポリシー関数を返します。
戻り値引数として Key インスタンスを受け取り、キャッシュする必要があるかどうかを示すブール値を返す関数。None が返される場合があります。
- get_datastore_policy()ソース
現在のコンテキストのデータストア ポリシー関数を返します。
戻り値引数として Key インスタンスを受け取り、データストアを使用するかどうかを示すブール値を返します。None が返される場合があります。
- get_indexes(*args, **kwds)ソース
- get_memcache_policy()ソース
現在の memcache ポリシー関数を返します。
戻り値引数として Key インスタンスを受け取り、キャッシュする必要があるかどうかを示すブール値を返す関数。None が返される場合があります。
- get_memcache_timeout_policy()ソース
-
現在の memcache タイムアウト(有効期限)のポリシー関数を返します。
- in_transaction()ソース
-
トランザクションが現在有効になっているかどうかを返します。
- iter_query(*args, **kwds)ソース
- map_query(*args, **kwds)ソース
- memcache_add(key, value, time=0, namespace=None, deadline=None)ソース
- memcache_cas(key, value, time=0, namespace=None, deadline=None)ソース
- memcache_decr(key, delta=1, initial_value=None, namespace=None, deadline=None)ソース
- memcache_delete(key, seconds=0, namespace=None, deadline=None)ソース
- memcache_get(key, for_cas=False, namespace=None, use_cache=False, deadline=None)ソース
memcache.get() または .get_multi() の自動バッチラッパー。
パラメータ-
key - 設定するキー。これは文字列でなければなりません。接頭辞は適用されません。
-
for_cas- true の場合、CAS ID をリクエストしてコンテキストに格納します。
-
namespace – オプションの名前空間。
-
deadline – オプションの RPC 期限。
Future (!)。戻り値は memcache から取得した値、または None。
-
- memcache_gets(key, namespace=None, use_cache=False, deadline=None)ソース
- memcache_incr(key, delta=1, initial_value=None, namespace=None, deadline=None)ソース
- memcache_replace(key, value, time=0, namespace=None, deadline=None)ソース
- memcache_set(key, value, time=0, namespace=None, use_cache=False, deadline=None)ソース
- put(*args, **kwds)ソース
- set_cache_policy(func)ソース
コンテキスト キャッシュ ポリシー関数を設定します。
パラメータfunc - 引数として Key インスタンスを受け取り、キャッシュする必要があるかどうかを示すブール値を返す関数。None が返される場合があります。
- set_datastore_policy(func)ソース
コンテキスト データストア ポリシー関数を設定します。
パラメータfunc - 引数として Key インスタンスを受け取り、データストアを使用するかどうかを示すブール値を返します。None が返される場合があります。
- set_memcache_policy(func)ソース
memcache ポリシー関数を設定します。
パラメータfunc - 引数として Key インスタンスを受け取り、キャッシュする必要があるかどうかを示すブール値を返す関数。None が返される場合があります。
- set_memcache_timeout_policy(func)ソース
memcache タイムアウト(有効期限)のポリシー関数を設定します。
パラメータfunc - 引数として Key インスタンスを受け取り、必要な memchache タイムアウトを示す整数を返す関数。None が返される場合があります。
関数が 0 を返す場合は、デフォルトのタイムアウトを意味します。
- transaction(*args, **kwds)ソース
- urlfetch(*args, **kwds)ソース
- class google.appengine.ext.ndb.context.ContextOptionsソース
-
ベース: google.appengine.datastore.datastore_rpc.Configuration
get/put/delete と一緒に渡すことができる構成オプション。
- max_memcache_items
-
構成オプションの記述子。
このクラスは、BaseConfiguration から継承されるクラスに対して構成オプションを作成するために使用されます。このクラスで修飾されたバリデータ関数は読み取り専用の記述子に変換され、BaseConfiguration は、その構成オプションのコンストラクタとマージロジックを実装します。バリデータ関数は、None 以外の 1 つの値を受け取り、検証して例外をスローするか、その値(または同等の値)を返します。バリデータは、構築時に一度だけ呼び出されますが、構成オプションの None 以外の値にコンストラクタのキーワード引数が指定されている場合にのみ呼び出されます。
- memcache_deadline
-
構成オプションの記述子。
このクラスは、BaseConfiguration から継承されるクラスに対して構成オプションを作成するために使用されます。このクラスで修飾されたバリデータ関数は読み取り専用の記述子に変換され、BaseConfiguration は、その構成オプションのコンストラクタとマージロジックを実装します。バリデータ関数は、None 以外の 1 つの値を受け取り、検証して例外をスローするか、その値(または同等の値)を返します。バリデータは、構築時に一度だけ呼び出されますが、構成オプションの None 以外の値にコンストラクタのキーワード引数が指定されている場合にのみ呼び出されます。
- memcache_timeout
-
構成オプションの記述子。
このクラスは、BaseConfiguration から継承されるクラスに対して構成オプションを作成するために使用されます。このクラスで修飾されたバリデータ関数は読み取り専用の記述子に変換され、BaseConfiguration は、その構成オプションのコンストラクタとマージロジックを実装します。バリデータ関数は、None 以外の 1 つの値を受け取り、検証して例外をスローするか、その値(または同等の値)を返します。バリデータは、構築時に一度だけ呼び出されますが、構成オプションの None 以外の値にコンストラクタのキーワード引数が指定されている場合にのみ呼び出されます。
- use_cache
-
構成オプションの記述子。
このクラスは、BaseConfiguration から継承されるクラスに対して構成オプションを作成するために使用されます。このクラスで修飾されたバリデータ関数は読み取り専用の記述子に変換され、BaseConfiguration は、その構成オプションのコンストラクタとマージロジックを実装します。バリデータ関数は、None 以外の 1 つの値を受け取り、検証して例外をスローするか、その値(または同等の値)を返します。バリデータは、構築時に一度だけ呼び出されますが、構成オプションの None 以外の値にコンストラクタのキーワード引数が指定されている場合にのみ呼び出されます。
- use_datastore
-
構成オプションの記述子。
このクラスは、BaseConfiguration から継承されるクラスに対して構成オプションを作成するために使用されます。このクラスで修飾されたバリデータ関数は読み取り専用の記述子に変換され、BaseConfiguration は、その構成オプションのコンストラクタとマージロジックを実装します。バリデータ関数は、None 以外の 1 つの値を受け取り、検証して例外をスローするか、その値(または同等の値)を返します。バリデータは、構築時に一度だけ呼び出されますが、構成オプションの None 以外の値にコンストラクタのキーワード引数が指定されている場合にのみ呼び出されます。
- use_memcache
-
構成オプションの記述子。
このクラスは、BaseConfiguration から継承されるクラスに対して構成オプションを作成するために使用されます。このクラスで修飾されたバリデータ関数は読み取り専用の記述子に変換され、BaseConfiguration は、その構成オプションのコンストラクタとマージロジックを実装します。バリデータ関数は、None 以外の 1 つの値を受け取り、検証して例外をスローするか、その値(または同等の値)を返します。バリデータは、構築時に一度だけ呼び出されますが、構成オプションの None 以外の値にコンストラクタのキーワード引数が指定されている場合にのみ呼び出されます。
- class google.appengine.ext.ndb.context.TransactionOptionsソース
-
ベース: google.appengine.ext.ndb.context.ContextOptions, google.appengine.datastore.datastore_rpc.TransactionOptions
コンテキスト オプションとトランザクション オプションの���方をサポートします。
- class google.appengine.ext.ndb.context.AutoBatcher(todo_tasklet, limit)ソース
-
ベース: オブジェクト
同じ rpc オプションを共有する場合、複数の非同期呼び出しをバッチ処理します。
以下に、このクラスが何をするかを説明する例を示します。
key.get_async(options) API 呼び出しの存続期間: *) キーがシングルトン Context インスタンスを取得し、Context.get を呼び出します。 *) Context.get は Context._get_batcher.add(key, options) を呼び出します。これにより、
key.get_async の戻り値として future の "fut" を返します。この時点で、key.get_async が返されます。
- *) “limit” の数を超える _get_batcher.add() が呼び出された場合、
-
_get_batcher は、これまでに読み取ったキーのリストを使用して self._todo_tasklet、Context._get_tasklet を呼び出します。
*) Context._get_tasklet は MultiRPC を起動し、その完了を待ちます。 *) MultiRPC が完了すると、Context._get_tasklet は結果を
key.get_async からそれぞれの "fut" に渡します。
- *) add() が “limit” の数を超えて呼び出される前にユーザーが "fut".get_resultblob() を呼び出すと、
-
"fut".get_result() は eventloop.run1() を繰り返し呼び出します。
- *) 即時コールバックを処理した後、eventloop はアイドラを実行します。
-
AutoBatcher._on_idle はアイドラです。
*) _on_idle は、バッチが上限に達する前に "todo_tasklet" を実行します。
そのため、エンジンは todo_tasklet です。これは、引数をバッチに結合し、結果をそれぞれの futures に戻すプロキシ タスクレットです。このクラスは主に、適切なタイミングで、適切な引数を使用して todo_tasklet を呼び出すヘルパーです。
- action()ソース
- add(arg, options=None)ソース
arg を追加して future を返します。
パラメータ-
arg – _todo_tasklet の 1 つの引数。
-
options - rpc オプション。
- future のインスタンス、バッチ処理なしの
-
_todo_tasklet の実行結果を表します。
-
- add_once(arg, options=None)ソース
- flush(*args, **kwds)ソース
- run_queue(options, todo)ソース
-
実際に _todo_tasklet を実行します。

