Ao criar uma tarefa, é possível especificar o número máximo de vezes para repetir uma
tarefa com falha, definir um limite de tempo para tentar novamente e controlar o intervalo
entre as tentativas usando o
projects.locations.queues.tasks.create
método. Quando uma tarefa é executada, ela é removida da fila. Em
todos os casos, o limite máximo de retenção de tarefas também se
aplica.
Essa configuração de repetição no nível da tarefa substitui a configuração de repetição no nível da fila para a tarefa.
Configurar repetições ao criar uma tarefa
O exemplo a seguir demonstra a definição de parâmetros de repetição ao criar uma tarefa de destino HTTP enviando uma solicitação direta à API Cloud Tasks. É possível
usar os mesmos parâmetros de repetição ao
criar uma tarefa do App Engine. Para
mais detalhes sobre os parâmetros, consulte as
RetryConfig configurações do
Task recurso.
Antes de usar os dados da solicitação abaixo, faça estas substituições:
PROJECT_ID: obrigatório. O ID do Google Cloud projeto em que a tarefa será criada.REGION: obrigatório. A região em que a fila está implantada, por exemplo,us-central1.QUEUE_ID: obrigatório. O ID da fila em que a tarefa será adicionada.URL: obrigatório. O URL totalmente qualificado para o qual a solicitação será enviada. Essa string precisa começar comhttp://ouhttps://, por exemplo:https://www.example.com.SERVICE_ACCOUNT_EMAIL: opcional. O e-mail da conta de serviço usado para gerar um token de autorização incluído em a solicitação enviada ao destino ao executar a tarefa. A conta de serviço precisa estar no mesmo projeto que a fila. O autor da chamada precisa ter aiam.serviceAccounts.actAspermissão para a conta de serviço.Para gerar um token de acesso do OAuth2 em vez de um token do OpenID Connect, substitua o
oidcTokencampo poroauthTokenpara especificar o e-mail da conta de serviço.MAX_ATTEMPTS: opcional. O número máximo de tentativas para uma tarefa, incluindo a primeira. Para permitir repetições ilimitadas, defina esse valor como-1.MAX_RETRY_DURATIONainda se aplica mesmo queMAX_ATTEMPTSseja atingido ou definido como-1.MAX_RETRY_DURATION: opcional. O tempo máximo para repetir uma tarefa com falha medida a partir da primeira tentativa da tarefa. O valor precisa ser uma string que termine em "s", como5s. Para especificar uma duração ilimitada, defina esse valor como0s.MAX_ATTEMPTSainda se aplica mesmo queMAX_RETRY_DURATIONseja atingido ou definido como0s.MIN_INTERVAL: opcional. O tempo mínimo de espera entre as tentativas. O valor precisa ser uma string que termine em "s", como5s.MAX_INTERVAL: opcional. O tempo máximo de espera entre as tentativas. O valor precisa ser uma string que termine em "s", como5s.MAX_DOUBLINGS: opcional. O número máximo de vezes que o intervalo entre novas tentativas de tarefas com falhas será dobrado antes que o aumento se torne constante. O intervalo de repetição de uma tarefa começa emMIN_INTERVAL, depois duplica os temposMAX_DOUBLINGS, aumenta linearmente e, finalmente tenta novamente em intervalos deMAX_INTERVALatéMAX_ATTEMPTSvezes.Por exemplo, se
MIN_INTERVALfor10s,MAX_INTERVALfor300s, eMAX_DOUBLINGSfor3, o intervalo de repetição será duplicado3vezes, aumentará linearmente em 2^3 * 10s e, em seguida, tentará novamente em intervalos deMAX_INTERVALaté que a tarefa tenha sido tentadaMAX_ATTEMPTSvezes: 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s e assim por diante.SCHEDULE_TIME: opcional. O horário em que a tarefa está programada para ser tentada, no formato RFC 3339, por exemplo,2026-10-02T15:01:23Z. Se o horário não estiver definido ou estiver no passado, o Cloud Tasks o definirá como o horário atual.
Corpo JSON da solicitação:
{
"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"
}
}
Para enviar a solicitação, expanda uma destas opções:
Se a solicitação for bem-sucedida, o corpo da resposta incluirá a instância recém-criada de
o Task recurso.
{
"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"
}
A seguir
- Criar filas do Cloud Tasks
- Criar tarefas do Cloud Tasks
- Configurar roteamento, limites e repetições de filas
- Gerenciar filas e tarefas