NDB Future クラス

Future は、非同期オペレーションの結果を表します。多くの場合、作成時には、結果データは含まれません。オペレーションが終了すると、Future は結果を取得します。アプリケーションは、Future オブジェクトの get_result() メソッドを呼び出すことができます。結果が届いている場合、メソッドはそれを返します。結果が届いていない場合は、届くまで待機して返します

注: RPC と Future の間に 1:1 の対応はありません。複数の Future が 1 つの RPC の結果に対応する場合もあります。

インスタンス メソッド

check_success()
演算が成功したか確認します。必要に応じて待機します。問題が存在する場合には、例外を返します。問題が存在しない場合には、None を返します。
done()
結果が届いている場合は True を返します。届いていない場合は、False を返します。この関数は待機しません。
get_exception()
必要に応じて待機し、例外を返します。例外が存在しない場合には、None を返します。例外を返しますが、例外を生成することはありません。
get_result()
必要に応じて待機し、結果を返します。あるいは、例外を生成します。
get_traceback()
必要に応じて待機し、例外のトレースバック オブジェクトを返します。トレースバック オブジェクトが存在しない場合は None を返します。Python の traceback モジュールは、トレースバック オブジェクトの出力と操作を行う関数を備えています。
wait()
結果や例外が到着するまで待機します。常に None を返します。

クラス メソッド

wait_all(futures)
渡されたイテラブルのすべての Futures が完了するまで待機します。

引数

futures
Future オブジェクトのイテラブル。

None を返します。

wait_any(futures)
Futures のイテラブルが少なくとも 1 つが終了するまで待機します。

引数

futures
Future オブジェクトのイテラブル。

終了した 1 つの Future を返します。 (futures イテラブルが空の場合、None を返します。)