Tutorial
Un'introduzione passo passo a TrueAsync: dalla tua prima coroutine alla concorrenza strutturata, ai pool di risorse e al parallelismo reale. I tutorial si costruiscono l'uno sull'altro, quindi consigliamo di seguirli in ordine, partendo dal primo.
0 / 30 completati
Fondamenti
Coroutine
Il primo sguardo alle coroutine: spawn() ed esecuzione concorrente.
Annullamento
Come funzionano cancel() e l'annullamento cooperativo.
Await
Perché esiste await() e come funziona con le coroutine.
Eccezioni
Come le eccezioni di una coroutine si propagano attraverso await().
Timeout
Limitare quanto a lungo await() attende con timeout().
Future
Future e FutureState: la promessa di un risultato non legata a una coroutine.
Channel
Channel: un flusso di valori tra coroutine, pool di worker e backpressure.
Scope
Chi possiede un gruppo di coroutine, le attende e le annulla insieme.
PDO Pool
Perché le coroutine non possono condividere una connessione PDO e come il pool integrato lo risolve in modo trasparente.
TaskGroup
Un gruppo di task con risultati e strategie di attesa all, race, any.
TaskSet
Un flusso di task con pulizia automatica, joinNext/joinAny/joinAll e un ciclo supervisore.
Iteratore concorrente
iterate(): attraversamento concorrente di una collezione in una riga.
Pool
Async\Pool: un pool di risorse generico con health check e circuit breaker.
Thread
spawn_thread e ThreadPool: parallelismo reale per il lavoro CPU-bound.
Context
Dove tenere "la cosa corrente" ora che le variabili globali non funzionano più.
TrueAsync Server
Primo server
Un server HTTP dentro PHP: HttpServer, HttpServerConfig e il tuo primo handler.
Richiesta e risposta
HttpRequest e HttpResponse: routing, json() ed errori tramite HttpException.
Concorrenza dentro una richiesta
TaskGroup in un handler, il PDO Pool sotto carico e request_context().
Flussi di byte
send() e sendable(), streaming del corpo della richiesta, upload di file e sendFile().
File statici
StaticHandler: servire file senza una coroutine PHP, caching e politiche di sicurezza.
Server-Sent Events
SSE: un flusso di eventi verso il browser, avanzamento dell'import e heartbeat tramite sseComment().
WebSocket
Il ciclo recv, una chat room, send da altre coroutine e trySend contro client lenti.
Worker e HTTP/3
setWorkers(): i thread sotto il cofano del server, il bootloader e HTTP/3 sulla stessa porta.
Produzione
Timeout, limiti, backpressure sull'accept, compressione, logging e shutdown graduale.
gRPC
addGrpcHandler(): unary e streaming, readMessage/writeMessage, trailer e deadline.
Laravel
Primo avvio
Eseguire Laravel sotto TrueAsync Server e la tua prima API, dalle route al database.
Pool e transazioni
PDO Pool sotto Eloquent e CoroutineTransactions: perché il contatore delle transazioni annidate non può restare in una proprietà di Connection.
SSE e gRPC
trueasync_response(), Sse e grpc_handlers: come uscire dal buffered Illuminate Response direttamente da un controller.
Pattern pericolosi
Proprietà static mutabili, once() su un singleton e Number::useLocale(): i soliti modi in cui lo stato trapela tra le richieste, e come scovarli con l'analisi statica.
Pacchetti di terze parti
Debugbar, Telescope, Inertia, spatie/permission, Socialite: cosa è già adattato per le coroutine e cosa conviene disabilitare.