CLI · Winter Console

Команда thread

thread (алиас th) запускает Dispatchable-задачи — джобы и процессы — на переднем плане или в фоне, и управляет демонами (start/stop/status). Это консольный вход в подсистему фоновых процессов Winter.

Алиас thФон флаг -dТребует ext-pcntl

Что такое thread и зачем

thread — команда запуска фоновых задач и демонов.

Проблема. Часть работы не должна блокировать запрос: рассылка, обработка файла, периодическая уборка. Нужен способ запускать такие задачи вручную — для отладки или по расписанию — и управлять долгоживущими демонами.

Решение. thread запускает любой Dispatchable (джобу/процесс) на переднем плане или в фоне (-d) и даёт управление демонами. Об этом и раздел.

Просмотр

Субкоманда Показывает
list Все Dispatchable-классы, помеченные типом (Job/Process/Daemon)
daemons Демоны (ThreadDaemon) с состоянием, числом форков и аптаймом
bash
php call thread list
php call thread daemons

Запуск задачи

Вызов Действие
thread <Class> Запуск ::start() на переднем плане
thread <Class> -d Запуск ::dispatch() в фоне (печатает PID)
bash
php call thread main.threads.ExampleJob       # на переднем плане
php call thread main.threads.ExampleJob -d    # в фоне, вернёт PID

Имя резолвится из точечной нотации так же, как в script.

Управление демонами

Вызов Действие
thread <Daemon> Тумблер: запущен → стоп; остановлен → старт (с -d в фоне)
thread <Daemon> start Запуск в фоне
thread <Daemon> stop Остановка
thread <Daemon> status Состояние/PID/аптайм/форки
thread <Daemon> status -v То же + ресурсы и список форков
bash
php call thread main.threads.Cleanup start
php call thread main.threads.Cleanup status -v
php call thread main.threads.Cleanup stop

Нужен pcntl

thread требует расширение pcntl — без него команда предупредит и завершится. Флаг -d учитывается только в режиме запуска/тумблера (не в start/stop/status).

Дальше