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
- Робіть бекап перед міграціями