Behebung von Zeitüberschreitungen in „ Flight service “

Flight service nutzt aus verschiedenen Gründen unterschiedliche Arten von Zeitüberschreitungsoptionen. In diesem Abschnitt werden diese Zeitüberschreitungsoptionen beschrieben und erklärt, wie Sie die Zeitüberschreitungsdauer erhöhen können, falls Fehler auftreten.

Anforderungszeitlimit

Der Flight-Client bricht Anfragen ab, wenn diese nicht innerhalb einer bestimmten Zeitüberschreitung abgeschlossen werden können. Sie können das standardmäßige Zeitlimit für Anfragen von 120 Sekunden erhöhen, indem Sie ein FlightCallOptions Objekt mit einem Zeitlimit-Parameter angeben. Zum Beispiel:

flightClient.do_get(endpoint.ticket, options=flight.FlightCallOptions(timeout=float(240)))

Alternativ können Sie, wenn Sie die itc_utils Bibliothek verwenden, einen Zeitüberschreitungsparameter wie folgt festlegen:

itc_utils.flight_service.read_pandas_and_concat(readClient, flightInfo, timeout=240)

Ablauf der Authentifizierung

Aus Sicherheitsgründen läuft die Authentifizierung bei Flight service nach 10 Minuten ab. Nach Ablauf der Gültigkeit müssen Sie sich erneut bei der „ Flight service “ authentifizieren, indem Sie den folgenden Befehl ausführen:

flightClient.authenticate(authHandler)

Alternativ können Sie, wenn Sie die itc_utils Bibliothek verwenden, um ein ` FlightClient, ` abzurufen, die Authentifizierung erneut durchführen, indem Sie folgenden Befehl aufrufen:

itc_utils.flight_service.get_flight_client()

Ablauf der Gültigkeit des Tickets

Tickets für Endpunkte, die Sie im Rahmen eines FlightInfo Objekts erhalten, verfallen nach 10 Minuten, um Ressourcen innerhalb des „ Flight service “ freizugeben.

Es kann zu Ticket-Timeouts kommen, wenn Sie versuchen, mehrere große Datenpartitionen nacheinander zu lesen, und nicht alle Partitionen innerhalb der vorgegebenen 10 Minuten verarbeitet werden können. Sie können diese Art von Zeitüberschreitung vermeiden, indem Sie die Partitionen parallel lesen.

Sollten die Tickets ablaufen, kannst du mit dem folgenden Befehl neue Tickets abrufen:

flightClient.get_flight_info(flightDescriptor)

Alternativ können Sie, wenn Sie die itc_utils Bibliothek verwenden, um ein FlightInfoObjekt abzurufen, den folgenden Befehl verwenden:

itc_utils.flight_service.get_flight_info(flightClient, data_request=My_flight_request)

Weitere Informationen