Tutoriales
Una introducción paso a paso a TrueAsync: desde tu primera corrutina hasta la concurrencia estructurada, los pools de recursos y el paralelismo real. Los tutoriales se apoyan unos en otros, así que recomendamos recorrerlos en orden, empezando por el primero.
0 / 30 completados
Fundamentos
Corrutinas
Tu primer contacto con las corrutinas: spawn() y ejecución concurrente.
Cancelación
Cómo funcionan cancel() y la cancelación cooperativa.
Await
Por qué existe await() y cómo funciona con las corrutinas.
Excepciones
Cómo se propagan las excepciones de una corrutina a través de await().
Tiempos de espera
Limitar cuánto espera await() con timeout().
Future
Future y FutureState: la promesa de un resultado que no está atada a una corrutina.
Canales
Channel: un flujo de valores entre corrutinas, pools de workers y contrapresión.
Scope
Quién es dueño de un grupo de corrutinas, las espera y las cancela en conjunto.
PDO Pool
Por qué las corrutinas no pueden compartir una conexión PDO, y cómo el pool integrado lo resuelve de forma transparente.
TaskGroup
Un grupo de tareas con resultados y las estrategias de espera all, race y any.
TaskSet
Un flujo de tareas con autolimpieza, joinNext/joinAny/joinAll y un bucle supervisor.
Iterador concurrente
iterate(): recorrido concurrente de una colección en una sola línea.
Pool
Async\Pool: un pool de recursos de propósito general con health checks y circuit breaker.
Hilos
spawn_thread y ThreadPool: paralelismo real para trabajo intensivo en CPU.
Context
Dónde guardar "lo actual" ahora que las variables globales ya no funcionan.
TrueAsync Server
Primer servidor
Un servidor HTTP dentro de PHP: HttpServer, HttpServerConfig y tu primer handler.
Petición y respuesta
HttpRequest y HttpResponse: enrutamiento, json() y errores mediante HttpException.
Concurrencia dentro de una petición
TaskGroup en un handler, el PDO Pool bajo carga y request_context().
Flujos de bytes
send() y sendable(), el streaming del cuerpo de la petición, la subida de archivos y sendFile().
Archivos estáticos
StaticHandler: servir archivos sin una corrutina PHP, caché y políticas de seguridad.
Server-Sent Events
SSE: un flujo de eventos hacia el navegador, progreso de importación y heartbeats mediante sseComment().
WebSocket
El bucle recv, una sala de chat, enviar desde otras corrutinas y trySend frente a clientes lentos.
Workers y HTTP/3
setWorkers(): hilos bajo el capó del servidor, el bootloader y HTTP/3 en el mismo puerto.
Producción
Tiempos de espera, límites, contrapresión en accept, compresión, logging y apagado ordenado.
gRPC
addGrpcHandler(): unary y streaming, readMessage/writeMessage, trailers y deadlines.
Laravel
Primera ejecución
Ejecutar Laravel bajo TrueAsync Server y tu primera API, desde las rutas hasta la base de datos.
Pool y transacciones
PDO Pool bajo Eloquent y CoroutineTransactions: por qué el contador de transacciones anidadas no puede quedarse en una propiedad de Connection.
SSE y gRPC
trueasync_response(), Sse y grpc_handlers: llegar más allá del Illuminate Response con buffer directamente desde un controlador.
Patrones inseguros
Propiedades static mutables, once() sobre un singleton y Number::useLocale(): las formas habituales en que el estado se filtra entre peticiones, y cómo detectarlas con análisis estático.
Paquetes de terceros
Debugbar, Telescope, Inertia, spatie/permission, Socialite: qué ya está adaptado para corrutinas y qué merece la pena desactivar.