NDB-Klasse „Future“

Ein Future stellt das Ergebnis eines asynchronen Vorgangs dar. Bei der Erstellung hat es wahrscheinlich keine Ergebnisdaten. Wenn der Vorgang abgeschlossen ist, erhält das Future das Ergebnis. Eine Anwendung kann die Methode get_result() eines Future-Objekts aufrufen. Wenn das Ergebnis eingegangen ist, wird es durch die Methode zurückgegeben. Andernfalls wird auf das Ergebnis gewartet und dann wird es zurückgegeben.

Hinweis: Es gibt keine 1:1-Zuordnung zwischen RPCs und Futures. Mehrere Futures können an ein Ergebnis eines einzelnen RPC gebunden sein.

Instanzmethoden

check_success()
Prüft, ob der Vorgang erfolgreich war. Wartet, wenn nötig. Löst eine Ausnahme aus, wenn ein Problem aufgetreten ist. Gibt None zurück, wenn kein Problem aufgetreten ist.
done()
Gibt True zurück, wenn das Ergebnis (oder die Ausnahme) eingegangen ist. Andernfalls wird False zurückgegeben. Diese Funktion wartet nicht.
get_exception()
Wartet, falls erforderlich. Gibt dann die Ausnahme zurück (oder None, wenn es keine Ausnahme gab). Gibt die Ausnahme zurück, löst sie aber nicht aus.
get_result()
Wartet, falls erforderlich. Gibt dann das Ergebnis zurück oder löst die Ausnahme aus.
get_traceback()
Wartet, falls erforderlich. Gibt dann das Traceback-Objekt der Ausnahme zurück (oder None, wenn kein Traceback-Objekt vorhanden ist). Das traceback-Modul von Python hat Funktionen für die Anwendung von Traceback-Objekten und deren Ausgabe.
wait()
Wartet, bis ein Ergebnis oder eine Ausnahme eingeht. Gibt immer None zurück.

Klassenmethoden

wait_all(futures)
Wartet, bis alle Futures in der übergebenen Iteration abgeschlossen sind.

Argumente

futures
Iteration von Future-Objekten.

Gibt None zurück.

wait_any(futures)
Wartet, bis mindestens eine Iteration von Futures abgeschlossen ist.

Argumente

futures
Iteration von Future-Objekten.

Gibt ein abgeschlossenes Future zurück. (Gibt None zurück, wenn die Iteration futures leer ist.)