Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Push-Aufgaben aus Aufgabenwarteschlangen können aus verschiedenen Gründen fehlschlagen. Wenn eine Aufgabe nicht ausgeführt werden kann, d. h., wenn ein HTTP-Statuscode außerhalb des Bereichs 200–299 ausgegeben wird, wiederholt App Engine die Aufgabe so oft, bis die Ausführung erfolgreich ist.
Standardmäßig verringert das System die Wiederholungsrate nach und nach, um die Anwendung nicht mit zu vielen Anfragen zu überlasten. Die Wiederholungsversuche werden jedoch mindestens einmal pro Stunde durchgeführt, bis die Aufgabe erfolgreich ist.
Fehlgeschlagene Aufgaben wiederholen
Sie können Ihr eigenes Schema für das Wiederholen von Aufgaben anpassen. Dazu fügen Sie das Element retry_parameters in die Datei queue.yaml ein. Durch diese Ergänzung können Sie die maximale Anzahl an Wiederholungsversuchen für fehlgeschlagene Aufgaben in einer bestimmten Warteschlange angeben. Außerdem können Sie ein Zeitlimit für Wiederholungsversuche festlegen und den Zeitabstand zwischen den Versuchen individuell steuern.
Im folgenden Beispiel werden verschiedene Wiederholungsszenarien demonstriert:
In fooqueue werden Aufgaben bis zu siebenmal und bis zu zwei Tage nach dem ersten Ausführungsversuch wiederholt. Nachdem beide Limits überschritten wurden, gilt die Ausführung als endgültig gescheitert.
In barqueue versucht App Engine, Aufgaben zu wiederholen, wobei das Intervall zwischen nachfolgenden Wiederholungsversuchen linear erhöht wird, bis der maximale Backoff erreicht ist. Daraufhin finden Wiederholungen auf unbestimmte Zeit nach jeweils dem maximalen Intervall statt (die Intervalle zwischen den Anfragen sind 10 s, 20 s, 30 s..., 190 s, 200 s, 200 s...).
In bazqueue beginnt das Wiederholungsintervall bei 10 s, verdoppelt sich dreimal und steigt dann linear bis zum maximalen Intervall an, mit dem auf unbestimmte Zeit wiederholt wird (die Intervalle zwischen den Anfragen sind also 10 s, 20 s, 40 s, 80 s, 160 s, 240 s, 300 s, 300 s, ...).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-04-21 (UTC)."],[[["\u003cp\u003eTasks in a queue that fail are automatically retried by App Engine until they succeed, unless the return is between 200-299.\u003c/p\u003e\n"],["\u003cp\u003eRetry attempts are reduced gradually to avoid overloading the application, and then recur at a maximum of once per hour.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003equeue.yaml\u003c/code\u003e file can be used to customize the retry scheme, including the maximum number of retries, time limits, and intervals between attempts.\u003c/p\u003e\n"],["\u003cp\u003eThe example demonstrates how to configure retry parameters, including setting limits and specifying different retry intervals with varying linear increases or doublings, allowing for fine-tuned task retry behavior.\u003c/p\u003e\n"]]],[],null,["# Retrying Failed Push Tasks\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\nGo Java PHP Python\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|\n| /services/access). If you are updating to the App Engine runtime, refer to the [Upgrade to second-generation runtimes]() page 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\nRetrying tasks\n--------------\n\nYou can customize your own scheme for task retries by\nadding the [retry\nparameters](/appengine/docs/standard/reference/queueref#retry_parameters)\nelement in [`queue.yaml`](/appengine/docs/standard/reference/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 \u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n \u003cqueue-entries\u003e\n \u003cqueue\u003e\n \u003cname\u003efooqueue\u003c/name\u003e\n \u003crate\u003e1/s\u003c/rate\u003e\n \u003cretry-parameters\u003e\n \u003ctask-retry-limit\u003e7\u003c/task-retry-limit\u003e\n \u003ctask-age-limit\u003e2d\u003c/task-age-limit\u003e\n \u003c/retry-parameters\u003e\n \u003c/queue\u003e\n \u003cqueue\u003e\n \u003cname\u003ebarqueue\u003c/name\u003e\n \u003crate\u003e1/s\u003c/rate\u003e\n \u003cretry-parameters\u003e\n \u003cmin-backoff-seconds\u003e10\u003c/min-backoff-seconds\u003e\n \u003cmax-backoff-seconds\u003e200\u003c/max-backoff-seconds\u003e\n \u003cmax-doublings\u003e0\u003c/max-doublings\u003e\n \u003c/retry-parameters\u003e\n \u003c/queue\u003e\n \u003cqueue\u003e\n \u003cname\u003ebazqueue\u003c/name\u003e\n \u003crate\u003e1/s\u003c/rate\u003e\n \u003cretry-parameters\u003e\n \u003cmin-backoff-seconds\u003e10\u003c/min-backoff-seconds\u003e\n \u003cmax-backoff-seconds\u003e300\u003c/max-backoff-seconds\u003e\n \u003cmax-doublings\u003e3\u003c/max-doublings\u003e\n \u003c/retry-parameters\u003e\n \u003c/queue\u003e\n \u003c/queue-entries\u003e\n\nWhat's next\n-----------\n\n- Learn more about the [task queue parameters](/appengine/docs/standard/reference/queueref)."]]