NDB Future 클래스

Future비동기 작업의 결과를 나타냅니다. 생성되었을 때는 결과 데이터가 없을 것입니다. 작업이 끝나면 Future가 결과를 얻습니다. 애플리케이션은 Future 객체의 get_result() 메서드를 호출할 수 있습니다. 결과가 도착하면 메서드가 이를 반환하고 그렇지 않으면 결과가 도착할 때까지 기다린 반환합니다.

참고: RPC와 Future 간에는 1:1 매핑이 없습니다. 단일 RPC 결과에 여러 Future가 묶여있을 수 있습니다.

인스턴스 메서드

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의 반복 가능 항목 중 적어도 하나가 완료될 때까지 대기합니다.

인수

futures
Future 객체의 반복 가능 항목

완료된 Future 한 개를 반환합니다. futures 반복 가능 항목이 비어 있으면 None을 반환합니다.