Résolution des problèmes de délai d'attente dans l' Flight service

Conseils et astuces concernant les délais d'expiration

Flight service utilise différents types d'options de délai d'expiration pour diverses raisons. Cette section décrit ces options de délai d'attente et explique comment augmenter ce délai si vous rencontrez des erreurs.

Dépassement du délai d'attente de la demande

Le client Flight interrompt les requêtes si celles-ci ne peuvent pas être exécutées dans un délai donné. Vous pouvez augmenter le délai d'expiration par défaut de 120 secondes en spécifiant un FlightCallOptions objet comportant un paramètre « timeout ». Par exemple :

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

Sinon, si vous utilisez la itc_utils bibliothèque, vous pouvez définir un paramètre de délai d'attente comme suit :

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

Expiration de l'authentification

Pour des raisons de sécurité, l'authentification sur Flight service expire au bout de 10 minutes. Une fois l'expiration effective, vous devez vous réauthentifier auprès de l' Flight service e en exécutant la commande suivante :

flightClient.authenticate(authHandler)

Sinon, si vous utilisez la itc_utils bibliothèque pour obtenir un objet ` FlightClient, `, vous pouvez vous réauthentifier en appelant :

itc_utils.flight_service.get_flight_client()

Date d'expiration du billet

Les tickets attribués aux terminaux dans le cadre d'un FlightInfo objet expirent au bout de 10 minutes afin de libérer des ressources au sein de l' Flight service.

Des délais d'expiration des tickets peuvent se produire si vous essayez de lire plusieurs grandes partitions de données de manière séquentielle et que toutes les partitions ne peuvent pas être traitées dans le délai imparti de 10 minutes. Vous pouvez éviter ce type de délai d'expiration en lisant les partitions en parallèle.

Si les tickets expirent, vous pouvez utiliser la commande suivante pour en obtenir de nouveaux :

flightClient.get_flight_info(flightDescriptor)

Sinon, si vous utilisez la itc_utils bibliothèque pour obtenir un FlightInfoobjet, vous pouvez utiliser la commande suivante :

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

En savoir plus