Problemi e limitazioni

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Quando utilizzi Cloud Tasks, potresti riscontrare i seguenti problemi e limitazioni:

Ordine di esecuzione

Ad eccezione delle attività pianificate per l'esecuzione in futuro, le code di attività sono completamente indipendenti dall'ordine di esecuzione. Non ci sono garanzie né tentativi migliori di eseguire le attività in un ordine particolare. Nello specifico: non vi è garanzia che le vecchie attività vengano eseguite a meno che una coda non venga svuotata completamente. Esistono diversi casi comuni in cui le attività più recenti vengono eseguite prima delle attività meno recenti e i pattern che lo circondano possono cambiare senza preavviso.

Esecuzione duplicata

Cloud Tasks punta a una semantica "esecutiva" esattamente una volta. Tuttavia, nelle situazioni in cui deve essere effettuato un compromesso tra l'esecuzione garantita e quella duplicata il servizio va a fianco dell'esecuzione garantita. Di conseguenza, si verifica un numero diverso di esecuzioni duplicate. Gli sviluppatori dovrebbero adottare misure per garantire che l'esecuzione duplicata non sia un evento catastrofico. In produzione, oltre il 99,999% delle attività viene eseguito solo una volta.

Limitazioni delle risorse

L'origine dei backlog più comune nelle code di elaborazione immediata è l'esaurimento delle risorse nelle istanze di destinazione. Se un utente sta tentando di eseguire 100 attività al secondo su istanze frontend che possono elaborare solo 10 richieste al secondo, verrà creato un backlog. Di solito, questo si manifesta in uno di questi due modi: in genere può essere risolto aumentando il numero di istanze che elaborano le richieste.

Errori di backoff e percentuali applicate

I server che vengono sovraccarichi possono iniziare a restituire errori di backoff sotto forma di codice di risposta HTTP 503. Cloud Tasks reagirà a questi errori rallentando l'esecuzione fino all'arresto degli errori. Ciò può essere osservato esaminando il campo "applicazione forzata" nella console Google Cloud.

Vai alla pagina Cloud Tasks

Picchi di latenza e Numero massimo di connessioni simultanee

I server sovraccarichi possono anche rispondere con aumenti significativi della latenza. In questo caso, le richieste rimangono aperte per più tempo. Poiché le code vengono eseguite con un numero massimo di attività simultanee, ciò può impedire alle code di eseguire attività alla frequenza prevista. Aumentare il valore di max_concurrent_tasks per le code interessate può essere utile nelle situazioni in cui il valore è stato impostato su un valore troppo basso, introducendo un limite di frequenza artificiale. Tuttavia, è improbabile che l'aumento di max_concurrent_tasks allevi la pressione delle risorse sottostanti.

Problemi di rampa con attività a lunga esecuzione

Le code di Cloud Tasks aumentano in parte l'output in base al numero di attività completate e inviate in precedenza. Se il gestore di attività richiede un periodo di tempo considerevole, nell'ordine dei minuti, per completare un'attività e restituire una risposta di operazione riuscita, può verificarsi un ritardo nella velocità di avanzamento della coda.