Cloud Tasks ti consente di controllare l'esecuzione asincrona dei workload, mettere in pausa l'elaborazione delle code e risolvere i problemi relativi ai flussi di attività attivi. Puoi configurare e gestire le code e le attività utilizzando la console Google Cloud , Google Cloud CLI o l'API Cloud Tasks.
Prima di iniziare
- Assicurati di avere una coda di attività Cloud Tasks esistente. Per saperne di più, consulta Crea code di attività di Cloud Tasks.
- Assicurati di disporre dei ruoli di Identity and Access Management (IAM) necessari per gestire code di attività e attività, ad esempio Cloud Tasks Admin (
roles/cloudtasks.admin), Cloud Tasks Queue Admin (roles/cloudtasks.queueAdmin) o Cloud Tasks Task Deleter (roles/cloudtasks.taskDeleter).
Elimina un'attività da una coda
Puoi eliminare un'attività se è pianificata o assegnata. Ad esempio, potresti dover eliminare un'attività che non può essere completata correttamente, indipendentemente dal numero di tentativi. Non puoi eliminare un'attività se è stata completata correttamente o se ha esaurito i tentativi dopo errori ripetuti. Un'attività viene eliminata automaticamente se viene raggiunto il limite di conservazione massima delle attività.
Console
Nella console Google Cloud , vai alla pagina Cloud Tasks > Code.
Fai clic sul nome della coda per l'attività che vuoi eliminare.
Seleziona la casella di controllo per l'attività da eliminare.
Fai clic su Elimina attività.
Al prompt, fai clic su Elimina.
gcloud
Elimina un'attività utilizzando il comando gcloud tasks delete:
gcloud tasks delete TASK_NAME \ --queue=QUEUE_ID \ --location=LOCATION
Sostituisci quanto segue:
TASK_NAME: l'ID o il nome completo della risorsa dell'attività che vuoi eliminareQUEUE_ID: il nome della coda a cui appartiene il taskLOCATION: la regione in cui viene eseguito il deployment della coda, ad esempious-central1
REST
Per eliminare un'attività, utilizza il metodo projects.locations.queues.tasks.delete.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
QUEUE_ID: il nome della coda a cui appartiene l'attivitàTASK_NAME: il nome dell'attività che vuoi eliminarePROJECT_ID: il tuo ID progetto Google CloudLOCATION: la regione in cui esiste la coda, ad esempious-central1
Il corpo della richiesta deve essere vuoto.
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta è vuoto.
Elimina un gruppo di attività da una coda
Puoi eliminare un gruppo di attività da una coda utilizzando il metodo projects.locations.queues.tasks.batchDelete per eliminare un elenco di nomi di attività.
Tieni presente quanto segue:
Tutte le attività devono essere eliminate dalla stessa coda.
Esiste un limite al numero di attività che possono essere eliminate in un singolo batch. Per saperne di più, consulta Quote e limiti.
Le richieste batch, che aggregano singole operazioni in un'unica richiesta, non sono atomiche perché è possibile che alcune delle operazioni contenute nel batch non vadano a buon fine, mentre altre sì.
Puoi eliminare un'attività solo se è pianificata o inviata. Non puoi eliminare un'attività se è stata completata correttamente o se ha esaurito i tentativi dopo aver fallito ripetutamente. Un'attività viene eliminata automaticamente se viene raggiunto il limite di conservazione massima delle attività.
Puoi anche creare un batch di attività. Per saperne di più, consulta Crea un gruppo di attività.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
TASK_NAME: il nome delle attività da eliminare nel seguente formato:projects/PROJECT_ID/locations/REGION/queues/QUEUE_ID/tasks/TASK_IDPROJECT_ID: il tuo ID progetto Google CloudREGION: la regione in cui esiste la coda, ad esempious-central1QUEUE_ID: il nome della coda a cui appartengono le attività
Il corpo della richiesta contiene un elenco di nomi di attività.
Corpo JSON della richiesta:
{
"names": [
"TASK_NAME"
]
}
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene un'istanza di Operation.
{
"name": "projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.tasks.v2.BatchDeleteTasksMetadata"
},
"done": false
}
Elimina definitivamente tutte le attività da una coda
Puoi eliminare tutte le attività da una coda eliminandole definitivamente. Tutte le attività create prima della chiamata di eliminazione vengono eliminate definitivamente. Tuttavia, le operazioni di eliminazione possono richiedere fino a un minuto per avere effetto e le attività potrebbero essere inviate prima che l'eliminazione abbia effetto.
Console
Nella console Google Cloud , vai alla pagina Cloud Tasks > Code.
Fai clic sul nome della coda per le attività che vuoi eliminare.
Fai clic su Elimina coda.
Al prompt, fai clic su Elimina.
gcloud
Elimina definitivamente una coda utilizzando il comando gcloud tasks queues purge:
gcloud tasks queues purge QUEUE_ID \ --location=LOCATION
Sostituisci quanto segue:
QUEUE_ID: il nome della coda che vuoi eliminare definitivamenteLOCATION: la regione in cui viene eseguito il deployment della coda, ad esempious-central1
REST
Per eliminare definitivamente una coda, utilizza il metodo projects.locations.queues.purge.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
QUEUE_ID: il nome della coda che vuoi eliminarePROJECT_ID: il tuo ID progetto Google CloudLOCATION: la regione in cui viene eseguito il deployment della coda, ad esempious-central1
Il corpo della richiesta deve essere vuoto.
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene un'istanza di Queue:
{
"name": "projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID",
"rateLimits": {
"maxDispatchesPerSecond": 500,
"maxBurstSize": 100,
"maxConcurrentDispatches": 1000
},
"retryConfig": {
"maxAttempts": 100,
"minBackoff": "0.100s",
"maxBackoff": "3600s",
"maxDoublings": 16
},
"state": "RUNNING",
"purgeTime": "2025-03-28T13:06:30.110255Z"
}
Metti in pausa o riprendi le code
Puoi mettere in pausa o riprendere una coda. La messa in pausa di una coda interrompe l'esecuzione e la distribuzione delle attività. Puoi comunque creare attività e aggiungerle alla coda, ma non verranno elaborate finché la coda non verrà ripresa. Quando riprendi una coda, Cloud Tasks inizia a inviare le attività arretrate senza un ordine di esecuzione definito. Se riprendi code con traffico elevato e un backlog di grandi dimensioni, segui le indicazioni per l'incremento graduale per evitare il sovraccarico del target.
Console
Nella console Google Cloud , vai alla pagina Cloud Tasks > Code.
Seleziona la casella di controllo relativa alla coda che vuoi mettere in pausa o riprendere.
Per mettere in pausa la coda, fai clic su Metti in pausa la coda, quindi fai clic su Metti in pausa nel prompt.
Per riprendere una coda in pausa, fai clic su Riprendi coda.
gcloud
Metti in pausa una coda utilizzando il comando
gcloud tasks queues pause:gcloud tasks queues pause QUEUE_ID \ --location=LOCATION
Sostituisci quanto segue:
QUEUE_ID: il nome della coda che vuoi mettere in pausaLOCATION: la regione in cui viene eseguito il deployment della coda, ad esempious-central1
Riprendi una coda utilizzando il comando
gcloud tasks queues resume:gcloud tasks queues resume QUEUE_ID \ --location=LOCATION
REST
Per mettere in pausa una coda, utilizza il metodo
projects.locations.queues.pause.Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
QUEUE_ID: il nome della coda che vuoi mettere in pausaPROJECT_ID: il tuo ID progetto Google CloudLOCATION: la regione in cui viene eseguito il deployment della coda, ad esempious-central1
Il corpo della richiesta deve essere vuoto.
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene un'istanza di
Queue:{ "name": "projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID", "rateLimits": { "maxDispatchesPerSecond": 500, "maxBurstSize": 100, "maxConcurrentDispatches": 1000 }, "retryConfig": { "maxAttempts": 100, "minBackoff": "0.100s", "maxBackoff": "3600s", "maxDoublings": 16 }, "state": "PAUSED" }Per riprendere una coda, utilizza il metodo
projects.locations.queues.resume.Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
QUEUE_ID: il nome della coda che vuoi riprenderePROJECT_ID: il tuo ID progetto Google CloudLOCATION: la regione in cui viene eseguito il deployment della coda, ad esempious-central1
Il corpo della richiesta deve essere vuoto.
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene un'istanza di
Queue:{ "name": "projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID", "rateLimits": { "maxDispatchesPerSecond": 500, "maxBurstSize": 100, "maxConcurrentDispatches": 1000 }, "retryConfig": { "maxAttempts": 100, "minBackoff": "0.100s", "maxBackoff": "3600s", "maxDoublings": 16 }, "state": "RUNNING" }
Elenca code
Puoi elencare le code. Quando elenchi le code, vengono restituiti alcuni dettagli relativi alla limitazione di frequenza e ai parametri di ripetizione. Tieni presente che i seguenti campi sono equivalenti:
- Frequenza massima (Console),
MAX_RATE(gcloud),maxDispatchesPerSecond(REST) Numero massimo di richieste simultanee (Console),
MAX_NUM_OF_TASKS(gcloud),maxConcurrentDispatches(REST)
Console
Nella console Google Cloud , vai alla pagina Cloud Tasks > Code.
Vengono elencate tutte le code nel tuo progetto Google Cloud .
Per maggiori dettagli, fai clic sul nome di una coda, quindi sulla scheda Configurazione.
Vengono visualizzati i dettagli dei parametri di limitazione di frequenza e di ripetizione.
gcloud
Elenca le code utilizzando il comando gcloud tasks queues list:
gcloud tasks queues list \ --location=LOCATION
Sostituisci LOCATION con la regione in cui è stato eseguito il deployment della coda, ad esempio us-central1. Se non viene specificata una località, viene utilizzata quella dell'app App Engine del tuo progetto Google Cloud , se esiste; in caso contrario, devi specificare una località.
L'output dovrebbe essere simile al seguente:
QUEUE_NAME: my-queue STATE: PAUSED MAX_NUM_OF_TASKS: 1000 MAX_RATE (/sec): 500.0 MAX_ATTEMPTS: 100 ...
REST
Per elencare le code, utilizza il metodo projects.locations.queues.list.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
PROJECT_ID: il tuo ID progetto Google Cloud.LOCATION: la regione in cui vengono create le code, ad esempious-central1.
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene istanze di risorse Queue e la risposta dovrebbe essere simile alla seguente:
{
"queues": [
{
"name": "projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID",
"rateLimits": {
"maxDispatchesPerSecond": 500,
"maxBurstSize": 100,
"maxConcurrentDispatches": 1000
},
"retryConfig": {
"maxAttempts": 100,
"minBackoff": "0.100s",
"maxBackoff": "3600s",
"maxDoublings": 16
},
"state": "PAUSED",
"purgeTime": "2025-03-28T13:37:32.292552Z"
},
...
],
"nextPageToken": "CjQKCHppcHBlcjIAEgwI9-GExAYQ_oDc1AMaGioLeWlrZXMtYWdhaW4yC3VzLWNlbnRyYWwx"
}
Elimina code
Puoi eliminare qualsiasi coda quando non ti serve più, ad eccezione della coda default di App Engine.
Dopo aver eliminato una coda, devi attendere 3 giorni prima di ricrearla con lo stesso nome. Questo periodo di attesa si applica alle code eliminate tramite qualsiasi interfaccia,
tra cui la console Google Cloud , gcloud CLI, l'API REST o
RPC o Terraform. In questo modo, si evitano comportamenti imprevisti nelle attività in esecuzione al momento dell'eliminazione e si evitano errori dei processi interni durante il ciclo di eliminazione e ricreazione.
Durante questo periodo di tombstone, che può durare fino a 3 giorni, una richiesta di creazione della coda potrebbe sembrare riuscita senza ricreare la coda. Per confermare che una coda con lo stesso nome è stata ricreata, recuperala utilizzando il comando gcloud tasks queues describe o il metodo projects.locations.queues.get. Una risposta positiva (200 OK) conferma che la coda è stata ricreata.
Per cancellare le attività, modificare le configurazioni delle code o gestire le code nelle pipeline CI/CD senza perdere la coda o attivare il periodo di attesa di 3 giorni, utilizza le seguenti alternative anziché eliminare e ricreare una coda:
Elimina definitivamente la coda: elimina tutte le attività nella coda mantenendo la coda attiva eliminando definitivamente tutte le attività dalla coda con il comando
gcloud tasks queues purgeo il metodoprojects.locations.queues.purge.Aggiorna la coda in loco: modifica i limiti di frequenza, i parametri di ripetizione o il routing nella coda esistente utilizzando il comando
gcloud tasks queues updateo il metodoprojects.locations.queues.patch. Per saperne di più, consulta Configura il routing, i limiti e i tentativi di ripetizione delle code.Metti in pausa la coda: interrompi temporaneamente l'invio delle attività, preservando quelle in coda, mettendo in pausa la coda con il comando
gcloud tasks queues pauseo il metodoprojects.locations.queues.pause.Configura i controlli di sicurezza del ciclo di vita: evita l'eliminazione accidentale delle code durante i deployment automatizzati configurando la protezione da eliminazione nei modelli di infrastructure as code, ad esempio impostando
prevent_destroy = truein un blocco Terraformlifecycle.
Per eliminare una coda, utilizza la console Google Cloud , gcloud CLI o l'API Cloud Tasks:
Console
Nella console Google Cloud , vai alla pagina Cloud Tasks > Code.
Seleziona la casella di controllo per la coda da eliminare.
Fai clic su Elimina coda.
Al prompt, inserisci il nome della coda e fai clic su Conferma.
gcloud
Elimina una coda utilizzando il comando gcloud tasks queues delete:
gcloud tasks queues delete QUEUE_ID \ --location=LOCATION
Sostituisci quanto segue:
QUEUE_ID: l'ID o l'identificatore completo della coda che vuoi eliminareLOCATION: la regione in cui viene eseguito il deployment della coda, ad esempious-central1
gcloud CLI richiede la conferma prima di eliminare la coda, a meno che non passi il flag --quiet.
REST
Per eliminare una coda, utilizza il metodo projects.locations.queues.delete.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
QUEUE_ID: il nome della coda che vuoi eliminarePROJECT_ID: il tuo ID progetto Google CloudLOCATION: la regione in cui viene eseguito il deployment della coda, ad esempious-central1
Il corpo della richiesta deve essere vuoto.
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta è vuoto.