Artisan Worker
Выполняйте команды Laravel Artisan через интерфейс sTask с отслеживанием прогресса в реальном времени и интерактивным UI.
Возможности
- ✅ Выполнение любой Artisan команды из менеджера
- ✅ Вывод в реальном времени с подсветкой синтаксиса
- ✅ Интерактивный список команд - клик для запуска
- ✅ Проверка безопасности и ограничения
- ✅ Аудит логирования
- ✅ Безопасные настройки по умолчанию
Использование
Базовое
- Перейдите в sTask → Панель
- Найдите виджет Artisan
- Введите команду (например,
cache:clear) или оставьте пустым для списка - При желании добавьте аргументы
- Нажмите Запустить задание
Интерактивный режим
Выполните без команды чтобы увидеть все доступные команды. Кликните на любую команду для мгновенного запуска.
Безопасность
Конфигурация в config/artisan_security.php:
return [
// Запрещены в production
'dangerous_commands' => [
'migrate:fresh',
'migrate:reset',
'db:wipe',
],
// Требуют подтверждения
'confirmation_required' => [
'migrate',
'db:seed',
],
// Whitelist (если установлен, разрешены только эти)
'whitelist' => [],
// Blacklist (всегда запрещены)
'blacklist' => [],
// Включить безопасность
'enabled' => true,
// Логировать выполнения
'log_executions' => true,
];
Уровни безопасности
- Опасные команды - Заблокированы в production
- Требуют подтверждения - Логируют предупреждения
- Whitelist/Blacklist - Гибкая фильтрация с wildcards
- Защита от инъекций - Блокирует специальные символы
- Аудит логирование - Все выполнения логируются
Примеры
Разрешить только cache команды:
'whitelist' => [
'cache:*',
'view:clear',
],
Заблокировать конкретную команду:
'blacklist' => [
'key:generate',
'down',
],
UI
Интерфейс в стиле консоли
- VS Code Dark+ тема
- Моноширинный шрифт
- Цветной вывод:
- 🔵 Синий: Инфо
- 🟢 Зеленый: Успех и команды
- 🟡 Желтый: Предупреждения
- 🔴 Красный: Ошибки
- ⚪ Серый: Описания
Интерактивные команды
- Наведение для подсветки
- Клик для выполнения
- Мгновенная обратная связь
Конфигурация
Скопируйте конфиг для настройки:
cp packages/sTask/config/artisan_security.php core/custom/config/artisan_security.php
Отредактируйте core/custom/config/artisan_security.php с вашими настройками.
Использование API
use Seiger\sTask\Workers\ArtisanWorker;
$worker = new ArtisanWorker();
$task = $worker->createTask('run', [
'command' => 'cache:clear',
'arguments' => '--tags=views',
]);
Лучшие практики
- Используйте whitelist в production
- Регулярно просматривайте логи
- Требуйте подтверждения для деструктивных операций
- Сначала тестируйте в staging
- Делайте бекап перед миграциями