Classe Future NDB

Un objet Future représente le résultat d'une opération asynchrone. Lors de sa création, il ne contient probablement aucune donnée de résultat. Une fois l'opération terminée, l'objet Future récupère le résultat. Une application peut appeler la méthode get_result() d'un objet Future : si le résultat est disponible, la méthode le renvoie. Sinon, elle attend qu'il soit disponible avant de le renvoyer.

Remarque : Il n'y a pas de mappage parfait entre les appels RPC et les objets Future. Plusieurs objets Future peuvent être liés au résultat d'un même appel RPC.

Méthodes des instances

check_success()
Vérifie si l'opération a réussi. La méthode attend le résultat, si nécessaire. Une exception est générée si un problème est survenu, mais la valeur None est renvoyée si l'opération s'est déroulée sans problème.
done()
Renvoie True si le résultat (ou l'exception) est disponible. Sinon, renvoie False. Cette fonction n'attend pas le résultat.
get_exception()
Attend l'exception si nécessaire, puis la renvoie (ou None s'il n'y a pas eu d'exception). La méthode renvoie l'exception, mais ne la génère pas.
get_result()
Attend le résultat si nécessaire, puis le renvoie ou génère l'exception.
get_traceback()
Attend le résultat si nécessaire, puis renvoie l'objet traceback de l'exception (ou None s'il n'y a pas eu d'objet traceback). Le module traceback de Python dispose de fonctions permettant d'afficher et d'utiliser des objets traceback.
wait()
Attend un résultat ou une exception. Renvoie toujours None.

Méthodes des classes

wait_all(futures)
Attend que tous les objets Futures de l'itérable transmis obtiennent un résultat.

Arguments

futures
Itérable des objets Future.

Cela renvoie None.

wait_any(futures)
Attend qu'au moins un objet d'itérable Futures obtienne un résultat.

Arguments

futures
Itérable des objets Future.

Renvoie un objet Future qui a obtenu un résultat. (Renvoie None si l'itérable futures est vide.)