Tutorials
Eine schrittweise Einführung in TrueAsync: von deiner ersten Coroutine über strukturierte Nebenläufigkeit und Ressourcen-Pools bis hin zu echter Parallelität. Die Tutorials bauen aufeinander auf, daher empfehlen wir, sie der Reihe nach durchzugehen, beginnend mit dem ersten.
0 / 30 abgeschlossen
Grundlagen
Coroutinen
Dein erster Blick auf Coroutinen: spawn() und nebenläufige Ausführung.
Abbruch
Wie cancel() und kooperativer Abbruch funktionieren.
Await
Warum es await() gibt und wie es mit Coroutinen zusammenspielt.
Ausnahmen
Wie Ausnahmen aus einer Coroutine über await() weitergereicht werden.
Timeouts
Die Wartezeit von await() mit timeout() begrenzen.
Future
Future und FutureState: ein Versprechen auf ein Ergebnis, das nicht an eine Coroutine gebunden ist.
Channels
Channel: ein Strom von Werten zwischen Coroutinen, Worker-Pools und Backpressure.
Scope
Wer eine Gruppe von Coroutinen besitzt, auf sie wartet und sie gemeinsam abbricht.
PDO Pool
Warum Coroutinen sich keine PDO-Verbindung teilen können und wie der eingebaute Pool das transparent löst.
TaskGroup
Eine Gruppe von Tasks mit Ergebnissen und den Wartestrategien all, race, any.
TaskSet
Ein Strom von Tasks mit automatischer Aufräumung, joinNext/joinAny/joinAll und einer Supervisor-Schleife.
Nebenläufiger Iterator
iterate(): nebenläufiges Durchlaufen einer Sammlung in einer Zeile.
Pool
Async\Pool: ein universeller Ressourcen-Pool mit Health-Checks und einem Circuit Breaker.
Threads
spawn_thread und ThreadPool: echte Parallelität für CPU-lastige Arbeit.
Context
Wo man „das aktuelle Ding" ablegt, jetzt wo globale Variablen nicht mehr funktionieren.
TrueAsync Server
Erster Server
Ein HTTP-Server innerhalb von PHP: HttpServer, HttpServerConfig und dein erster Handler.
Anfrage und Antwort
HttpRequest und HttpResponse: Routing, json() und Fehler über HttpException.
Nebenläufigkeit innerhalb einer Anfrage
TaskGroup in einem Handler, der PDO Pool unter Last und request_context().
Byte-Streams
send() und sendable(), das Streamen des Anfrage-Bodys, Datei-Uploads und sendFile().
Statische Dateien
StaticHandler: Dateien ohne PHP-Coroutine ausliefern, Caching und Sicherheitsrichtlinien.
Server-Sent Events
SSE: ein Strom von Ereignissen an den Browser, Import-Fortschritt und Heartbeats über sseComment().
WebSocket
Die recv-Schleife, ein Chatraum, Senden aus anderen Coroutinen und trySend gegen langsame Clients.
Worker und HTTP/3
setWorkers(): Threads unter der Haube des Servers, der Bootloader und HTTP/3 auf demselben Port.
Produktion
Timeouts, Limits, Backpressure beim Accept, Kompression, Logging und Graceful Shutdown.
gRPC
addGrpcHandler(): unary und Streaming, readMessage/writeMessage, Trailer und Deadlines.
Laravel
Erster Durchlauf
Laravel unter TrueAsync Server ausführen und deine erste API, von den Routen bis zur Datenbank.
Pool & Transaktionen
PDO Pool unter Eloquent und CoroutineTransactions: warum der Zähler für verschachtelte Transaktionen nicht auf einer Connection-Eigenschaft bleiben kann.
SSE & gRPC
trueasync_response(), Sse und grpc_handlers: direkt aus einem Controller an der gepufferten Illuminate Response vorbeigreifen.
Unsichere Muster
Veränderliche statische Eigenschaften, once() auf einem Singleton und Number::useLocale(): die üblichen Wege, wie Zustand zwischen Anfragen ausläuft, und wie man sie mit statischer Analyse findet.
Pakete von Drittanbietern
Debugbar, Telescope, Inertia, spatie/permission, Socialite: was bereits für Coroutinen angepasst ist und was es wert ist, deaktiviert zu werden.