Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
As tarefas push processadas por uma fila de tarefas podem falhar por vários motivos. Se um gerenciador
falhar ao executar uma tarefa, retornando um código de status HTTP fora do
intervalo de 200 a 299, o App Engine repetirá a tarefa até ter sucesso.
Por padrão, o sistema reduz gradualmente a taxa de novas tentativas para evitar sobrecarregar o aplicativo com muitas
solicitações, mas programa novas tentativas com recorrência máxima de uma vez por hora
até que a tarefa seja executada com sucesso.
Como repetir tarefas
É possível personalizar seu próprio esquema para novas tentativas de tarefas
adicionando o elemento Nova tentativa de
parâmetros
em queue.yaml. Isso
permite especificar o número máximo de vezes que tarefas com falhas são repetidas
em uma fila específica. É possível também definir um limite de tempo para novas tentativas e controlar o intervalo entre elas.
O exemplo a seguir demonstra vários cenários de novas tentativas:
Em fooqueue, as tarefas são repetidas até sete vezes e por até dois dias
a partir da primeira tentativa de execução. Depois que ambos os limites são atingidos, elas falham
permanentemente.
Em barqueue, o App Engine tenta repetir as tarefas, aumentando o intervalo
linearmente entre cada tentativa até alcançar a retirada máxima e reiniciar
indefinidamente no intervalo máximo. Dessa forma, os intervalos entre as solicitações são: 10s, 20s, 30s,…, 190s, 200s, 200s,…
Em bazqueue, o intervalo de repetição começa em 10s, depois duplica três vezes,
aumenta linearmente e, finalmente, repete indefinidamente no
intervalo máximo. Dessa forma, os intervalos entre solicitações são:
10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s ...
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-04 UTC."],[[["\u003cp\u003eApp Engine automatically retries tasks that fail, meaning any HTTP status code outside of 200-299, with a gradually decreasing retry rate, up to a maximum of once per hour.\u003c/p\u003e\n"],["\u003cp\u003eRetry settings can be configured for individual queues or specified within the \u003ccode\u003eTask\u003c/code\u003e type, with the latter taking precedence when both are defined.\u003c/p\u003e\n"],["\u003cp\u003eCustom retry schemes can be set up in \u003ccode\u003equeue.yaml\u003c/code\u003e, allowing control over the maximum number of retries and the time limit for retry attempts, as well as the interval between them.\u003c/p\u003e\n"],["\u003cp\u003eDifferent retry behaviors, such as a fixed number of retries, linearly increasing retry intervals, or exponentially increasing intervals followed by a linear increase and then indefinite retries, can be defined.\u003c/p\u003e\n"]]],[],null,["# Retrying Failed Push Tasks\n\nPush tasks being processed via a task queue can fail for many reasons. If a handler\nfails to execute a task (and therefore returns any HTTP status code outside of\nthe range 200--299), App Engine retries the task until it succeeds.\n| This API is supported for first-generation runtimes and can be used when [upgrading to corresponding second-generation runtimes](/appengine/docs/standard/\n| go\n| /services/access). If you are updating to the App Engine Go 1.12+ runtime, refer to the [migration guide](/appengine/migration-center/standard/migrate-to-second-gen/go-differences) to learn about your migration options for legacy bundled services.\n\nBy default, the system gradually reduces the retry rate to avoid overloading your application with too many\nrequests, but schedules retry attempts to recur at a maximum of once per hour\nuntil the task succeeds.\n\n| **Important:** Retry options can be configured for the queue as well specified on the [`Task`](/appengine/docs/legacy/standard/go111/taskqueue/reference#RetryOptions) type. When both are specified, the **latter** takes precedence.\n\nRetrying tasks\n--------------\n\nYou can customize your own scheme for task retries by\nadding the [retry\nparameters](/appengine/docs/legacy/standard/go111/config/queueref#retry_parameters)\nelement in [`queue.yaml`](/appengine/docs/legacy/standard/go111/config/queueref). This\naddition allows you to specify the maximum number of times to retry failed tasks\nin a specific queue. You can also set a time limit for retry attempts and\ncontrol the interval between attempts.\n\nThe following example demonstrates various retry scenarios:\n\n- In `fooqueue`, tasks are retried up to seven times and for up to two days from the first execution attempt. After both limits are passed, it fails permanently.\n- In `barqueue`, App Engine attempts to retry tasks, increasing the interval linearly between each retry until reaching the maximum backoff and retrying indefinitely at the maximum interval (so the intervals between requests are 10s, 20s, 30s, ..., 190s, 200s, 200s, ...).\n- In `bazqueue`, the retry interval starts at 10s, then doubles three times, then increases linearly, and finally retries indefinitely at the maximum interval (so the intervals between requests are 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, ...).\n\n queue:\n - name: fooqueue\n rate: 1/s\n retry_parameters:\n task_retry_limit: 7\n task_age_limit: 2d\n - name: barqueue\n rate: 1/s\n retry_parameters:\n min_backoff_seconds: 10\n max_backoff_seconds: 200\n max_doublings: 0\n - name: bazqueue\n rate: 1/s\n retry_parameters:\n min_backoff_seconds: 10\n max_backoff_seconds: 300\n max_doublings: 3\n\nWhat's next\n-----------\n\n- Learn more about the [task queue parameters](/appengine/docs/legacy/standard/go111/config/queueref)."]]