Confronto tra OptimizeTour e BatchOptimizeTours

L'API Route Optimization espone due metodi:

  • OptimizeTours è un metodo sincrono che restituisce una route ottimizzata in risposta a un OptimizeToursRequest. I client devono mantenere una connessione aperta all'API Route Optimization finché la richiesta non viene elaborata e non viene restituito un OptimizeToursResponse o un errore.
  • BatchOptimizeTours è un metodo asincrono che accetta URI per uno o più OptimizeToursRequest e OptimizeToursResponse corrispondenti, restituendo il nome risorsa di un'operazione a lunga esecuzione (LRO) (REST, gRPC) utilizzata per verificare il completamento del batch. OptimizeToursRequest vengono elaborati in background, quindi i client mantengono una connessione aperta all'API Route Optimization solo per un tempo sufficiente a inviare il BatchOptimizeToursRequest o controllare lo stato {LRO10/status}.GetOperation BatchOptimizeTours legge le richieste e scrive le risposte in Google Cloud Storage.

Casi d'uso

OptimizeTours è la soluzione comoda per rispondere a richieste semplici e piccole o per richieste con tempi di risposta di pochi minuti o meno. Il mantenimento di connessioni di lunga durata all'API Route Optimization aumenta il rischio di interruzioni prima che sia possibile restituire una soluzione.

BatchOptimizeTours può gestire richieste e richieste più grandi con tempi di risoluzione più lunghi perché non richiede una connessione di lunga durata all'API Route Optimization.

Operazioni a lunga esecuzione

Gli LRO vengono letti dall'API Route Optimization utilizzando il metodo GetOperation per controllare lo stato di completamento di un batch. Gli LRO includono una proprietà done che indica se l'elaborazione dell'intero batch è completata e un campo error che segnala gli errori riscontrati durante l'elaborazione. Se done è true e non è presente alcun valore error, il batch è stato completato correttamente. La presenza di un error indica che l'elaborazione del batch non è riuscita in tutto o in parte.

Il ciclo di vita tipico di una richiesta BatchOptimizeTours è il seguente:

  1. Invia un BatchOptimizeToursRequest all'API Route Optimization, che restituisce il nome risorsa di un LRO.
  2. Sondaggio GetOperation con il nome della risorsa LRO restituito fino a quando le proprietà done o error non vengono visualizzate nella risposta LRO.
  3. Se done è true e non è presente alcun errore, leggi OptimizeToursResponses dagli URI di Google Cloud Storage specificati nella richiesta BatchOptimizeTours. Se è presente error, controlla l'errore, aggiorna i OptimizeToursRequest di conseguenza in Google Cloud Storage e riprova in base alle esigenze in base all'errore osservato.

Puoi inviare richieste OptimizeTours e BatchOptimizeTours in diversi modi, dalla riga di comando o utilizzando una libreria client.

Passaggio successivo: effettuare una richiesta API