Laravel Packages

Scheduler List: A Web Dashboard for Laravel's Scheduled Tasks

Published
Scheduler List: A Web Dashboard for Laravel's Scheduled Tasks image

Scheduler List by Akshay is a Laravel package that puts your scheduled tasks behind a web dashboard instead of leaving them in php artisan schedule:list output. It reads the tasks you've registered, shows their cron expressions and next run times, and lets you trigger one from the browser and watch its output stream back.

A List of Every Scheduled Task

The dashboard reads the tasks you register in your console routes and renders them with their schedule, next run time, timezone, and any constraints attached to them. A description() call on a task carries through to the UI, so it's worth adding one:

Schedule::command('inspire')
->everyMinute()
->description('Displays a random motivational quote.');

Tasks are grouped by type—Artisan commands, closures, and shell jobs—and you can filter the list by type or run a search across command names, expressions, and descriptions.

Scheduler List UI
Scheduler List UI

Running a Task on Demand

When manual execution is enabled, you can run a task from the dashboard rather than waiting for its next scheduled tick. The package opens a console overlay and streams the command's terminal output back in real time, up to a configurable character limit. This is off by default, and the output_limit config caps how much output the UI will hold (12,000 characters out of the box).

Disabled by Default, Behind Auth

The dashboard ships disabled and gated behind the web and auth middleware. Both the dashboard itself and manual execution are opt-in through environment variables:

SCHEDULER_LIST_ENABLED=true
SCHEDULER_LIST_MANUAL_EXECUTION=false

For anything beyond a local machine, the README recommends adding a gate so only the right users reach it:

Gate::define('viewSchedulerList', function ($user) {
return $user->is_admin;
});

Running arbitrary scheduled commands from a browser is a real risk, so keep manual_execution off in production unless you've locked down access.

Installation

Install the package via Composer and publish its config:

composer require devakshay/scheduler-list-laravel
php artisan vendor:publish --tag="scheduler-list-laravel-config"

Once enabled, the dashboard lives at /schedulers. You can read more and view the source on GitHub.

You can try it on the demo site.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
Laravel Truss: Live Interactive Database ER Diagrams image

Laravel Truss: Live Interactive Database ER Diagrams

Read article
Laravel artisan dev: Run Server, Queue, Logs, and Vite image

Laravel artisan dev: Run Server, Queue, Logs, and Vite

Read article
Validate and Convert HEIC Images in Laravel image

Validate and Convert HEIC Images in Laravel

Read article
Saga Lara Flow: Durable Workflows and Compensating Transactions on Laravel Queues image

Saga Lara Flow: Durable Workflows and Compensating Transactions on Laravel Queues

Read article
Reject Unexpected Array Keys with Laravel Validation image

Reject Unexpected Array Keys with Laravel Validation

Read article
Major performance improvements & security patches for Filament v4.12 and v5.7! image

Major performance improvements & security patches for Filament v4.12 and v5.7!

Read article