Problemi e limitazioni

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

Ordine di esecuzione

Ad eccezione delle attività pianificate per l'esecuzione in futuro, le code di attività sono completamente neutrali riguardo all'ordine di esecuzione. Non possiamo garantire o tentare in modo migliore di eseguire le attività in un ordine particolare. Nello specifico: non è garantito che le attività precedenti vengano eseguite, a meno che una coda non sia completamente vuota. Esistono diversi casi comuni in cui le attività più recenti vengono eseguite prima di quelle meno recenti e i pattern che le circondano possono cambiare senza preavviso.

Esecuzione duplicata

Cloud Tasks punta a una semantica "esatto" rigorosamente "una volta". Tuttavia, nelle situazioni in cui è necessario effettuare un compromesso tra l'esecuzione garantita e l'esecuzione duplicata, il servizio interagisce con l'esecuzione garantita. Di conseguenza, si verifica un numero di esecuzioni duplicate pari a zero. Gli sviluppatori dovrebbero adottare misure per assicurarsi che l'esecuzione duplicata non sia un evento catastrofico. In produzione, oltre il 99,999% delle attività viene eseguito una sola volta.

Limitazioni delle risorse

L'origine più comune dei backlog nelle code di elaborazione immediata è l'esaurimento delle risorse sulle istanze di destinazione. Se un utente tenta di eseguire 100 attività al secondo su istanze frontend che possono elaborare solo 10 richieste al secondo, verrà creato un backlog. In genere, ciò si manifesta in uno dei due modi seguenti, entrambi che in genere possono essere risolti aumentando il numero di istanze di elaborazione delle richieste.

Errori di backoff e tariffe applicate

I server che sono in sovraccarico 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 a che gli errori non si interrompono. Puoi osservarlo esaminando il campo "Tariffa forzata". Nella console,

Vai alla pagina Cloud Tasks

Picchi di latenza e connessioni simultanee massime

I server sovraccari possono anche rispondere con grandi aumenti della latenza. In questo caso, le richieste rimangono aperte più a lungo. Poiché le code vengono eseguite con un numero massimo di attività in contemporanea, le code potrebbero non essere in grado di eseguire le attività alla frequenza prevista. L'aumento del valore max_concurrent_tasks per le code interessate può essere utile nelle situazioni in cui il valore è stato impostato troppo basso, introducendo un limite di frequenza artificiale. Tuttavia, l'aumento di max_concurrent_tasks è improbabile allentare qualsiasi pressione delle risorse sottostante.

Incrementare i problemi con attività a lunga esecuzione

Le code di Cloud Tasks aumentano in parte il loro output in base al numero di attività riuscite precedentemente inviate. Se il gestore di attività impiega un periodo di tempo considerevole, nell'arco di minuti, per completare un'attività e restituire una risposta di successo, può verificarsi un ritardo nella sequenza di incremento della coda.