Quando crei un'attività, puoi specificare il numero massimo di tentativi di ripetizione di un'attività non riuscita, impostare un limite di tempo per i tentativi e controllare l'intervallo tra i tentativi utilizzando il metodo
projects.locations.queues.tasks.create. Una volta eseguita correttamente, un'attività viene rimossa dalla coda. In
tutti i casi, si applica anche il limite di conservazione massima delle attività.
Questa configurazione dei tentativi a livello di attività sostituisce la configurazione dei tentativi a livello di coda per l'attività.
Configurare i tentativi durante la creazione di un'attività
L'esempio seguente mostra l'impostazione dei parametri di ripetizione dei tentativi durante la creazione di un'attività di destinazione HTTP inviando una richiesta diretta all'API Cloud Tasks. Puoi
utilizzare gli stessi parametri di ripetizione dei tentativi quando
crei un'attività App Engine. Per
maggiori dettagli sui parametri, consulta le
impostazioni RetryConfig per la
risorsa Task.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
PROJECT_ID: obbligatorio. L'ID progetto del progetto Google Cloud in cui verrà creato il task.REGION: obbligatorio. La regione in cui viene eseguito il deployment della coda, ad esempious-central1.QUEUE_ID: obbligatorio. L'ID della coda a cui verrà aggiunta l'attività.URL: obbligatorio. L'URL completo a cui verrà inviata la richiesta. Questa stringa deve iniziare conhttp://ohttps://, ad esempio:https://www.example.com.SERVICE_ACCOUNT_EMAIL: facoltativo. L'email del account di servizio utilizzata per generare un token di autorizzazione incluso nella richiesta inviata alla destinazione durante l'esecuzione dell'attività. L'account di servizio deve trovarsi nello stesso progetto della coda. Il chiamante deve disporre dell'autorizzazioneiam.serviceAccounts.actAsper il account di servizio.Per generare un token di accesso OAuth2 anziché un token OpenID Connect, sostituisci il campo
oidcTokenconoauthTokenper specificare l'email del account di servizio.MAX_ATTEMPTS: facoltativo. Il numero massimo di tentativi per un'attività, incluso il primo. Per consentire tentativi illimitati, imposta questo valore su-1.MAX_RETRY_DURATIONsi applica comunque anche seMAX_ATTEMPTSviene raggiunto o impostato su-1.MAX_RETRY_DURATION: facoltativo. Il tempo massimo per riprovare un'attività non riuscita, misurato dal primo tentativo di esecuzione dell'attività. Il valore deve essere una stringa che termina con "s", ad esempio5s. Per specificare una durata illimitata, imposta questo valore su0s.MAX_ATTEMPTScontinua ad applicarsi anche seMAX_RETRY_DURATIONviene raggiunto o impostato su0s.MIN_INTERVAL: facoltativo. La quantità minima di tempo di attesa tra i tentativi. Il valore deve essere una stringa che termina con "s," ad esempio5s.MAX_INTERVAL: facoltativo. La quantità massima di tempo di attesa tra i tentativi. Il valore deve essere una stringa che termina con "s," ad esempio5s.MAX_DOUBLINGS: facoltativo. Il numero massimo di volte in cui l'intervallo tra i tentativi di ripetizione di un'attività non riuscita viene raddoppiato prima che l'aumento diventi costante. L'intervallo di nuovi tentativi di un'attività inizia aMIN_INTERVAL, poi raddoppiaMAX_DOUBLINGSvolte, quindi aumenta linearmente e infine ritenta a intervalli diMAX_INTERVALfino aMAX_ATTEMPTSvolte.Ad esempio, se
MIN_INTERVALè10s,MAX_INTERVALè300seMAX_DOUBLINGSè3, l'intervallo di nuovi tentativi raddoppierà3volte, aumenterà linearmente di 2^3 * 10 secondi e poi riproverà a intervalli diMAX_INTERVALfinché l'attività non sarà stata tentataMAX_ATTEMPTSvolte: 10 secondi, 20 secondi, 40 secondi, 80 secondi, 160 secondi, 240 secondi, 300 secondi, 300 secondi e così via.SCHEDULE_TIME: facoltativo. L'ora in cui è pianificata l'esecuzione dell'attività, in formato RFC 3339, ad esempio2026-10-02T15:01:23Z. Se l'ora non è impostata o è nel passato, Cloud Tasks la imposterà sull'ora corrente.
Corpo JSON della richiesta:
{
"task": {
"httpRequest": {
"url": "URL",
"httpMethod": "POST",
"oidcToken": {
"serviceAccountEmail": "SERVICE_ACCOUNT_EMAIL"
}
},
"retryConfig": {
"maxAttempts": MAX_ATTEMPTS,
"maxRetryDuration": "MAX_RETRY_DURATION",
"minBackoff": "MIN_INTERVAL",
"maxBackoff": "MAX_INTERVAL",
"maxDoublings": MAX_DOUBLINGS
},
"scheduleTime": "SCHEDULE_TIME"
}
}
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene l'istanza appena creata della risorsa Task.
{
"name": "projects/PROJECT_ID/locations/REGION/queues/QUEUE_ID/tasks/TASK_ID",
"httpRequest": {
"url": "URL",
"httpMethod": "POST",
"headers": {
"User-Agent": "Google-Cloud-Tasks"
},
"oidcToken": {
"serviceAccountEmail": "SERVICE_ACCOUNT_EMAIL",
"audience": "URL"
}
},
"retryConfig": {
"maxAttempts": MAX_ATTEMPTS,
"maxRetryDuration": "MAX_RETRY_DURATION",
"minBackoff": "MIN_INTERVAL",
"maxBackoff": "MAX_INTERVAL",
"maxDoublings": MAX_DOUBLINGS
},
"scheduleTime": "SCHEDULE_TIME",
"createTime": "2026-04-30T19:11:50Z",
"dispatchDeadline": "600s",
"view": "BASIC"
}
Passaggi successivi
- Crea code Cloud Tasks
- Creare attività Cloud Tasks
- Configurare il routing, i limiti e i tentativi di ripetizione delle code
- Gestire code e attività