Перейти к основному содержимому

Artisan Worker

Выполняйте команды Laravel Artisan через интерфейс sTask с отслеживанием прогресса в реальном времени и интерактивным UI.

Возможности​

  • ✅ Выполнение любой Artisan команды из менеджера
  • ✅ Вывод в реальном времени с подсветкой синтаксиса
  • ✅ Интерактивный список команд - клик для запуска
  • ✅ Проверка безопасности и ограничения
  • ✅ Аудит логирования
  • ✅ Безопасные настройки по умолчанию

Использование​

Базовое​

  1. Перейдите в sTask → Панель
  2. Найдите виджет Artisan
  3. Введите команду (например, cache:clear) или оставьте пустым для списка
  4. При желании добавьте аргументы
  5. Нажмите Запустить задание

Интерактивный режим​

Выполните без команды чтобы увидеть все доступные команды. Кликните на любую команду для мгновенного запуска.

Безопасность​

Конфигурация в 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,
];

Уровни безопасности​

  1. Опасные команды - Заблокированы в production
  2. Требуют подтверждения - Логируют предупреждения
  3. Whitelist/Blacklist - Гибкая фильтрация с wildcards
  4. Защита от инъекций - Блокирует специальные символы
  5. Аудит логирование - Все выполнения логируются

Примеры​

Разрешить только 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',
]);

Лучшие практики​

  1. Используйте whitelist в production
  2. Регулярно просматривайте логи
  3. Требуйте подтверждения для деструктивных операций
  4. Сначала тестируйте в staging
  5. Делайте бекап перед миграциями