Probleme und Einschränkungen

Bei der Verwendung von Cloud Tasks können folgende Probleme und Einschränkungen auftreten:

Ausführungsreihenfolge

Mit Ausnahme von Aufgaben, deren Ausführung in der Zukunft geplant ist, spielt die Ausführungsreihenfolge in Aufgabenwarteschlangen keine Rolle. Die Ausführung von Aufgaben in einer bestimmten Reihenfolge kann weder garantiert noch erzwungen werden. Insbesondere gibt es keine Garantie, dass alte Aufgaben ausgeführt werden, solange eine Warteschlange nicht vollständig geleert wird. Es gibt eine Reihe von Fällen, in denen neuere Aufgaben vor älteren Aufgaben ausgeführt werden. Die diesbezüglichen Muster können sich ohne vorherige Ankündigung ändern.

Doppelte Ausführung

Cloud Tasks folgt nach Möglichkeit der Regel der einmaligen Ausführung. Wenn jedoch ein Kompromiss zwischen garantierter und doppelter Ausführung erforderlich ist, entscheidet der Dienst zugunsten einer garantierten Ausführung. In diesem Fall treten doppelte Ausführungen auf. Entwickler sollten entsprechende Maßnahmen ergreifen, um sicherzustellen, dass doppelte Ausführungen nicht zu katastrophalen Ereignissen führen. In der Produktion werden über 99,999 % der Aufgaben nur einmal ausgeführt.

Ressourceneinschränkungen

Der gängigste Grund für Rückstände in unmittelbaren Verarbeitungswarteschlangen ist die Erschöpfung der Ressourcen auf den Zielinstanzen. Wenn ein Nutzer versucht, auf Frontend-Instanzen, die nur zehn Anfragen pro Sekunde verarbeiten können, 100 Aufgaben pro Sekunde auszuführen, kommt es zu einem Rückstand. Dies äußert sich in der Regel auf eine von zwei Arten. Beides lässt sich normalerweise durch Erhöhen der Anzahl der Instanzen lösen, die Anfragen verarbeiten.

Backoff-Fehler und erzwungene Raten

Server können bei Überlastung Backoff-Fehler in Form des HTTP-Antwortcodes 503 zurückgeben. Cloud Tasks reagiert auf diese Fehler, indem es die Ausführung verlangsamt, bis die Fehler behoben sind.

Latenzspitzen und maximale Gleichzeitigkeit

Auch die Latenz kann sich bei überlasteten Servern drastisch erhöhen. Anfragen bleiben in diesem Fall länger offen. Da in Warteschlangen eine maximale Anzahl von Aufgaben gleichzeitig ausgeführt wird, können Aufgaben gegebenenfalls nicht mit der erwarteten Rate ausgeführt werden. Wenn max_concurrent_tasks zu niedrig gewählt und die Rate somit künstlich begrenzt wurde, kann eine Erhöhung dieses Werts für die betroffenen Warteschlangen Abhilfe schaffen. Eventuell zugrunde liegende Ressourcenprobleme lassen sich durch eine Erhöhung von max_concurrent_tasks aber meist nicht beheben.

Erhöhungsprobleme mit lang andauernden Aufgaben

Cloud Tasks-Warteschlangen erhöhen ihre Ausgabe teilweise anhand der Anzahl der zuvor erfolgreich weitergeleiteten Aufgaben. Wenn der Aufgaben-Handler einen erheblichen Zeitraum – in der Größenordnung von Minuten – benötigt, um eine Aufgabe abzuschließen und eine Erfolgsantwort zurückzugeben, kann es zu einer Verzögerung bei der Erhöhungsrate der Warteschlange kommen.

Mehr als 5.000 Aufgaben ansehen

Wenn Sie mehr als 5.000 Aufgaben haben, werden einige Aufgaben in der Google Cloud Console nicht angezeigt. Verwenden Sie die gcloud CLI, um alle Aufgaben anzusehen.