Häufige Schwierigkeiten und Beschrä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 Front-End-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. Als Reaktion auf diese Fehler verlangsamt Cloud Tasks die Ausführung, bis die Fehler behoben sind. Dies wird in der Cloud Console im Feld "Erzwungene Rate" angezeigt.

Zur Seite "Cloud Tasks"

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.