devakshay / scheduler-list-laravel
A beautiful, real-time developer control center to monitor, search, and manually execute scheduled tasks directly from a premium Pulse-like web interface.
Package info
github.com/Akshayp2002/scheduler-list-laravel
Language:Blade
pkg:composer/devakshay/scheduler-list-laravel
Fund package maintenance!
Requires
- php: ^8.3
- illuminate/contracts: ^11.0||^12.0||^13.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.8
- orchestra/testbench: ^11.1||^10.11||^9.17
- pestphp/pest: ^4.0
- pestphp/pest-plugin-arch: ^4.0
- pestphp/pest-plugin-laravel: ^4.0
- phpstan/extension-installer: ^1.4
- phpstan/phpstan-deprecation-rules: ^2.0
- phpstan/phpstan-phpunit: ^2.0
This package is auto-updated.
Last update: 2026-06-26 07:13:09 UTC
README
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.
- β‘ Controlled Manual Triggering: Optionally trigger Artisan commands, Closure callbacks, and shell jobs directly from the UI when explicitly enabled.
- π 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' => env('SCHEDULER_LIST_PATH', 'schedulers'), /* * The middleware applied to the scheduler dashboard routes. * Keep auth enabled in production and add any tenant/admin/IP middleware your app needs. */ 'middleware' => ['web', 'auth'], /* * Optional Gate ability used by the package. The default Gate only grants access * in local environments; production apps should define this ability explicitly. */ 'ability' => env('SCHEDULER_LIST_ABILITY', 'viewSchedulerList'), /* * Optional authorization callback. Return true to allow access. */ 'authorize' => null, /* * Whether the scheduler dashboard is enabled. */ 'enabled' => env('SCHEDULER_LIST_ENABLED', false), /* * Allow developers to run scheduled tasks manually from the dashboard. */ 'manual_execution' => env('SCHEDULER_LIST_MANUAL_EXECUTION', false), /* * Maximum number of output characters returned to the browser after a manual run. */ 'output_limit' => 12000, ];
π Production Security
The dashboard is disabled by default. To use it in production, enable it deliberately and restrict it to trusted operators:
SCHEDULER_LIST_ENABLED=true SCHEDULER_LIST_MANUAL_EXECUTION=false
Manual execution should stay disabled unless your team explicitly needs it. If you enable it, define a Gate in your application:
use Illuminate\Support\Facades\Gate; Gate::define('viewSchedulerList', function ($user) { return $user->is_admin; });
Alternatively, publish the config and provide an authorize callback:
'authorize' => fn (\Illuminate\Http\Request $request) => $request->user()?->is_admin === true,
Never expose the dashboard with only ['web'] middleware on a public application.
π‘ 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
- Enable the dashboard in your environment:
SCHEDULER_LIST_ENABLED=true
-
Visit the dashboard directly in your browser: π http://localhost:8000/schedulers (or your custom
pathconfiguration). -
To allow the Run button, explicitly enable manual execution:
SCHEDULER_LIST_MANUAL_EXECUTION=true
π§ͺ 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.