Endpoints síncronos e assíncronos

Desenvolvedores do Espaço Econômico Europeu (EEE)

A API Route Optimization expõe dois métodos:

  • OptimizeTours é um método síncrono que retorna uma rota otimizada em resposta a um OptimizeToursRequest. Os clientes precisam manter uma conexão aberta com a API Route Optimization até que a solicitação seja processada e um OptimizeToursResponse ou erro seja retornado.
  • BatchOptimizeTours é um método assíncrono que aceita URIs para um ou mais OptimizeToursRequest e mensagens OptimizeToursResponse correspondentes, retornando o nome do recurso de uma operação de longa duração (LRO) (REST, gRPC) usada para verificar a conclusão do lote. Os OptimizeToursRequest são processados em segundo plano, então os clientes mantêm uma conexão aberta com a API Route Optimization apenas pelo tempo necessário para enviar o BatchOptimizeToursRequest ou chamar GetOperation para verificar o status da LRO. O BatchOptimizeTours lê solicitações e grava respostas no Google Cloud Storage.

Casos de uso

O OptimizeTours é conveniente para resolver solicitações pequenas e simples ou solicitações com tempos de resolução de alguns minutos ou menos. Manter conexões de longa duração com a API Route Optimization aumenta o risco de interrupção antes que uma solução possa ser retornada.

O BatchOptimizeTours pode processar solicitações maiores e com mais tempo de resolução porque não exige uma conexão de longa duração com a API Route Optimization.

Operações de longa duração

As LROs são lidas da API Route Optimization usando o método GetOperation para verificar o status de conclusão de um lote. As LROs incluem uma propriedade done que indica se o processamento de todo o lote foi concluído e um campo error que informa os erros encontrados durante o processamento. Se done for verdadeiro e nenhum error estiver presente, o lote será concluído com sucesso. A presença de um error indica que parte ou todo o lote não foi processado.

O ciclo de vida típico de uma solicitação BatchOptimizeTours é o seguinte:

  1. Envie um BatchOptimizeToursRequest para a API Route Optimization, que retorna o nome do recurso de uma LRO.
  2. Faça uma pesquisa de GetOperation com o nome do recurso LRO retornado até que as propriedades done ou error apareçam na resposta da LRO.
  3. Se done for verdadeiro e não houver erros, leia OptimizeToursResponses dos URIs do Google Cloud Storage especificados na solicitação BatchOptimizeTours. Se error estiver presente, inspecione o erro, atualize os OptimizeToursRequests de acordo com o Google Cloud Storage e tente de novo conforme apropriado, dependendo do erro observado.

É possível enviar solicitações OptimizeTours e BatchOptimizeTours de várias maneiras, na linha de comando ou usando uma biblioteca de cliente.

Próxima etapa: fazer uma solicitação de API