scheduler-list-laravel maintained by devakshay
Laravel Scheduler Control Center
A breathtaking, premium, real-time developer dashboard for monitoring, searching, filtering, and manually executing Laravel scheduled tasks in a single click—fully inspired by Laravel Pulse.
✨ Features
- 💫 Pulse-Style Dashboard: A premium user interface featuring fluid modern glassmorphism panels, harmonious tailored HSL color schemes, and subtle interactive micro-animations.
- 🌗 Steady Toggle Theme Switcher: Full Dark and Light theme adaptability with local storage persistence and transition controls.
- ⚡ In-Process Manual Triggering: Trigger Artisan commands, Closure callbacks, and shell jobs directly from the UI with zero queue delays.
- 📟 Beautiful Built-in Console: Executes and streams terminal logs in real-time within an interactive overlay (custom-designed in Xcode-dark and DevTools-light styles).
- 🔍 Real-Time Fuzzy Search & Filtering: Instantly search by command name, expression, or description. Filter tasks by type (Artisan, Callbacks, Shell) with active badge indicators.
- 🏷️ Smart Meta Indicators: Real-time next run schedules (Carbon countdowns), timezone details, total task count, and task constraints (e.g. Without Overlapping, On One Server, In Maintenance).
- 🎨 Custom Favicon & Logo: Displays a bespoke console terminal brand logo and a matching self-contained inline SVG favicon.
🚀 Installation
You can install the package via Composer:
composer require devakshay/scheduler-list-laravel
You can publish the configuration file using:
php artisan vendor:publish --tag="scheduler-list-laravel-config"
This will place a simplified and clean configuration file inside config/scheduler-list.php.
⚙️ Configuration
Here is the default configuration file structure inside config/scheduler-list.php:
return [
/*
* The path/URL where the scheduler dashboard will be accessible.
*/
'path' => 'schedulers',
/*
* The middleware applied to the scheduler dashboard routes.
* You should restrict this in production (e.g. ['web', 'auth']).
*/
'middleware' => ['web'],
/*
* Whether the scheduler dashboard is enabled.
*/
'enabled' => true,
/*
* Allow developers to run scheduled tasks manually from the dashboard.
*/
'manual_execution' => true,
];
💡 Usage
- Open your host application's console router (
routes/console.phporConsole/Kernel.php) and register your scheduled tasks:
use Illuminate\Support\Facades\Schedule;
Schedule::command('inspire')
->everyMinute()
->description('Displays a random motivational quote.');
Schedule::call(function () {
echo "Processing database backups...";
})->everyFiveMinutes()->description('Database Backup');
- Make sure your local development server is running:
php artisan serve
-
Visit the dashboard directly in your browser: 👉 http://localhost:8000/schedulers (or your custom
pathconfiguration). -
Click Run on any task to instantly view logs stream inside the dark/light adaptive overlay console window!
🧪 Testing
The package includes a comprehensive feature test suite validating routes, manual triggers, standard output streaming, and security blocks:
composer test
🤝 Contributing
Contributions are welcome! Please feel free to open a Pull Request or report bugs in the Issues page.
📄 License
The MIT License (MIT). Please see the License File for more details.