Classe Future NDB

Um Future representa o resultado de uma operação assíncrona. Quando criado, ele provavelmente não tem dados de resultado. Quando a operação termina, o Future recebe o resultado. Um aplicativo pode chamar o método get_result() de um objeto Future. Se o resultado tiver chegado, o método vai retorná-lo. Do contrário, ele aguarda a chegada do resultado e depois o retorna.

Observação: não há mapeamento 1:1 entre RPCs e Futures. Vários futures podem estar vinculados a um resultado de uma única RPC.

Métodos de instância

check_success()
Verifica se a operação foi bem-sucedida. Aguarda, se necessário. Gera uma exceção quando há um problema. Caso contrário, retorna None.
done()
Retorna True se o resultado (ou a exceção) tiver chegado. Do contrário, retorna False. Essa função não aguarda.
get_exception()
Aguarda, se necessário. Em seguida, retorna a exceção (ou None caso não haja exceção). Retorna a exceção. Não a gera.
get_result()
Aguarda, se necessário. Em seguida, retorna o resultado ou gera a exceção.
get_traceback()
Aguarda, se necessário. Em seguida, retorna o objeto traceback da exceção (ou None caso não haja objeto traceback). O módulo traceback do Python tem funções para imprimir e trabalhar com objetos traceback.
wait()
Aguarda até um resultado ou uma exceção chegar. O retorno é sempre None.

Métodos de classe

wait_all(futures)
Aguarda a conclusão de todos os Futures no iterável passado.

Argumentos

futures
Iterável de objetos Future.

Retorna None.

wait_any(futures)
Aguarda a conclusão de pelo menos um dos iteráveis de Futures.

Argumentos

futures
Iterável de objetos Future.

Retorna um Future concluído. (Retorna None se o iterável futures estiver vazio.)