Туториалы
Пошаговое знакомство с TrueAsync: от первой корутины до структурной конкурентности, пулов ресурсов и настоящего параллелизма. Туториалы построены по нарастающей — рекомендуем проходить их по порядку, начиная с первого.
0 / 30 пройдено
Основы
Корутины
Первое знакомство с корутинами: spawn() и конкурентное выполнение.
Отмена
Как работает cancel() и кооперативная отмена корутин.
Await
Зачем нужен await() и как он работает с корутинами.
Исключения
Как исключения из корутины пробрасываются через await().
Таймауты
Ограничение времени ожидания await() через timeout().
Future
Future и FutureState: обещание результата, которое не привязано к корутине.
Каналы
Channel: поток значений между корутинами, пул воркеров и обратное давление.
Scope
Кто владеет корутинами, ждёт их завершения и отменяет всей группой.
PDO Pool
Почему корутинам нельзя делить один PDO и как встроенный пул решает это прозрачно.
TaskGroup
Группа задач с результатами и стратегии ожидания all, race, any.
TaskSet
Поток задач с автоочисткой, joinNext/joinAny/joinAll и цикл супервизора.
Конкурентный итератор
iterate(): конкурентный обход коллекции одной строчкой.
Pool
Async\Pool: универсальный пул ресурсов с healthcheck и circuit breaker.
Потоки
spawn_thread и ThreadPool: настоящий параллелизм для вычислений.
Context
Где хранить «текущее», когда глобальные переменные перестали работать.
TrueAsync Server
Первый сервер
HTTP-сервер внутри PHP: HttpServer, HttpServerConfig и первый обработчик.
Запрос и ответ
HttpRequest и HttpResponse: маршрутизация, json() и ошибки через HttpException.
Конкурентность внутри запроса
TaskGroup в обработчике, PDO Pool под нагрузкой и request_context().
Потоки байтов
send() и sendable(), потоковое чтение тела, загрузка файлов и sendFile().
Статика
StaticHandler: отдача файлов без PHP-корутины, кэширование и политики безопасности.
Server-Sent Events
SSE: поток событий в браузер, прогресс импорта и heartbeat через sseComment().
WebSocket
Цикл recv, чат-комната, send из чужих корутин и trySend против медленных клиентов.
Воркеры и HTTP/3
setWorkers(): потоки под капотом сервера, bootloader и HTTP/3 на том же порту.
Продакшен
Таймауты, лимиты, обратное давление на accept, компрессия, логи и graceful shutdown.
gRPC
addGrpcHandler(): unary и стриминг, readMessage/writeMessage, трейлеры и дедлайны.
Laravel
Первый запуск
Запуск Laravel под TrueAsync Server и первый API — от маршрутов до базы данных.
Пул и транзакции
PDO Pool под Eloquent и CoroutineTransactions: почему счётчик вложенных транзакций нельзя оставлять в свойстве Connection.
SSE и gRPC
trueasync_response(), Sse и grpc_handlers: как выйти за пределы буферизованного Illuminate Response прямо из контроллера.
Опасные паттерны
Мутабельные static-свойства, once() на синглтоне и Number::useLocale(): типичные утечки состояния между запросами и как их найти статическим анализом.
Сторонние пакеты
Debugbar, Telescope, Inertia, spatie/permission, Socialite: что уже адаптировано под корутины, а что стоит выключить.