Resolução de erros de tempo limite no ` Flight service `

Flight service utiliza diferentes tipos de opções de tempo limite por diversos motivos. Esta seção descreve essas opções de tempo limite e como aumentar o tempo limite caso você encontre erros.

Tempo limite de solicitação

O cliente Flight encerra as solicitações se elas não puderem ser concluídas dentro de um determinado período de tempo. Você pode aumentar o tempo limite padrão de 120 segundos para solicitações especificando um FlightCallOptions objeto com o parâmetro timeout. Por exemplo:

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

Como alternativa, se você usar a itc_utils biblioteca, poderá especificar um parâmetro de tempo limite da seguinte forma:

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

Prazo de validade da autenticação

Por motivos de segurança, a autenticação no site Flight service expira após 10 minutos. Após o vencimento, você precisa se autenticar novamente no Flight service executando o seguinte comando:

flightClient.authenticate(authHandler)

Como alternativa, se você usar a itc_utils biblioteca para obter um objeto ` FlightClient, `, poderá se autenticar novamente chamando:

itc_utils.flight_service.get_flight_client()

Validade do bilhete

Os tickets para endpoints obtidos como parte de um FlightInfo objeto expiram após 10 minutos para liberar recursos no Flight service.

Podem ocorrer expirações de ticket se você tentar ler várias partições grandes de dados sequencialmente e nem todas as partições puderem ser processadas dentro do prazo de 10 minutos. Você pode evitar esse tipo de tempo limite lendo as partições em paralelo.

Se os tickets expirarem, você pode usar o seguinte comando para obter novos tickets:

flightClient.get_flight_info(flightDescriptor)

Como alternativa, se você usar a itc_utils biblioteca para obter um FlightInfoobjeto, pode usar o seguinte comando:

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

Saiba mais