Quando crei un'attività, puoi specificare il numero massimo di tentativi per riprovare un'attività non riuscita, impostare un limite di tempo per i tentativi e controllare l'intervallo tra i tentativi utilizzando il
projects.locations.queues.tasks.create
metodo. Una volta eseguita correttamente, un'attività viene rimossa dalla coda. In
tutti i casi, si applica anche il limite massimo di conservazione 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 come impostare i parametri dei tentativi durante la creazione di un'attività di destinazione HTTP inviando una richiesta diretta all'API Cloud Tasks. Puoi
utilizzare gli stessi parametri dei tentativi quando
crei un'attività App Engine. Per
ulteriori dettagli sui parametri, consulta le
RetryConfig impostazioni per la
Task risorsa.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
PROJECT_ID: obbligatorio. L'ID progetto del progetto in cui verrà creata l'attività. Google CloudREGION: obbligatorio. La regione in cui è stato eseguito il deployment della coda, ad esempio,us-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 esempiohttps://www.example.com.SERVICE_ACCOUNT_EMAIL: facoltativo. L'indirizzo email del account di servizio utilizzato per generare un token di autorizzazione incluso in la richiesta inviata alla destinazione durante l'esecuzione dell'attività. Il account di servizio deve trovarsi nello stesso progetto della coda. Il chiamante deve disporre dell'iam.serviceAccounts.actAsautorizzazione per il account di servizio.Per generare un token di accesso OAuth2 anziché un token OpenID Connect, sostituisci il
oidcTokencampo conoauthTokenper specificare l'indirizzo email del account di servizio.MAX_ATTEMPTS: facoltativo. Il numero massimo di tentativi per un'attività, incluso il primo. Per consentire un numero illimitato di tentativi, imposta questo valore su-1.MAX_RETRY_DURATIONsi applica anche seMAX_ATTEMPTSviene raggiunto o se è impostato su-1.MAX_RETRY_DURATION: facoltativo. La quantità massima di tempo per riprovare un'attività non riuscita, misurata dal primo tentativo di esecuzione dell'attività. Il valore deve essere una stringa che termina con "s", ad esempio5s. Per specificare un durata illimitata, imposta questo valore su0s.MAX_ATTEMPTSsi applica anche se viene raggiuntoMAX_RETRY_DURATIONo se è impostato su0s.MIN_INTERVAL: facoltativo. La quantità minima di tempo da attendere tra i tentativi. Il valore deve essere una stringa che termina con "s", ad esempio5s.MAX_INTERVAL: facoltativo. La quantità massima di tempo da attendere 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 esecuzione di un'attività non riuscita verrà raddoppiato prima che l' aumento diventi costante. L'intervallo tra i tentativi di un'attività inizia conMIN_INTERVAL, quindi raddoppiaMAX_DOUBLINGSvolte, poi aumenta in modo lineare e infine i tentativi vengono eseguiti a intervalli diMAX_INTERVALfino aMAX_ATTEMPTSvolte.Ad esempio, se
MIN_INTERVALè10s,MAX_INTERVALè300s, eMAX_DOUBLINGSè3, l'intervallo tra i tentativi raddoppierà3volte, aumenterà linearmente di 2^3 * 10s e poi i tentativi verranno eseguiti a intervalli diMAX_INTERVALfino a quando l'attività non avrà raggiuntoMAX_ATTEMPTStentativi: 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s e così via.SCHEDULE_TIME: facoltativo. L'ora in cui è pianificato il tentativo di esecuzione dell'attività, nel formato RFC 3339, ad esempio,2026-10-02T15:01:23Z. Se l'ora non è impostata o è nel passato, Cloud Tasks la imposta 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
- Creare code di attività Cloud Tasks
- Creare attività Cloud Tasks
- Configurare le code
- Gestire code e attività