- What does laravel-admin-ext/scheduling actually do?
- It is a plugin for encore/laravel-admin that surfaces the events registered on Laravel's Illuminate\Console\Scheduling\Schedule in an admin screen. From that screen you can create and edit tasks, toggle them on or off, inspect cron expressions and next-run times, trigger a manual run, and review task logs. It is intended to replace hand-editing App\Console\Kernel with a panel UI. It is not a standalone scheduler and adds no scheduling engine of its own.
- Is laravel-admin-ext/scheduling compatible with Laravel 9, 10, or 11?
- Almost certainly not without patching. The extension inherits its integration contract from encore/laravel-admin, which caps out well behind current Laravel releases, and the package's own last release was October 2021. Laravel 9+ and PHP 8.1+ introduce deprecations in that layer that the package has never been tested against. Validate the composer constraints in a scratch branch before committing anything, since Laravel 10 and 11 also moved scheduling definitions into routes/console.php.
- How do I install this scheduling extension?
- Installation is a standard composer require laravel-admin-ext/scheduling, followed by registering the extension route and menu entry so it appears in the admin panel. Asset publishing and controller base classes come from laravel-admin's extension contract. Because that contract has not evolved since upstream stalled, expect to verify each step manually rather than following current docs. Run the composer require against your exact PHP and Laravel pins first as the cheapest decision point.
- Does it work without encore/laravel-admin installed?
- No. This is not a standalone library; it is a plugin for laravel-admin, the CRUD scaffolding layer used for admin panels roughly between 2017 and 2020. Its value proposition only exists if laravel-admin is already a load-bearing dependency in your application. If you are not running laravel-admin, there is no architectural slot for this package and a thin custom page is a better fit.
- Can I run a scheduled task manually from the admin panel, and is that safe?
- Yes, the extension exposes manual run-now actions, which is exactly where the risk lives. Manual execution typically bypasses cron-level mutexes, so a click can double-run a job alongside a live cron invocation unless the underlying event has withoutOverlapping() and onOneServer() applied. Triggering scheduled commands from a UI is also a privilege-escalation vector, since anyone with panel access can force destructive maintenance tasks outside their normal cadence. Restrict the feature behind role-scoped permissions, SSO, and MFA before enabling it.
- Does the extension store task logs and run history?
- It provides task logs for tracking results, so run outcomes are visible from the admin panel rather than only in files. Treat the depth of that history, including whether exit codes and output are persisted, as something to confirm against the specific release you install, since the project has had no releases since October 2021. If audit-grade run history and alerting are the actual requirement, spatie/laravel-schedule-monitor is the better-supported answer.
- Is laravel-admin-ext/scheduling still maintained?
- Effectively no. The last release was October 2021, the repository has around 92 stars and zero dependents, and no downstream project is exercising it against modern framework versions. That means any compatibility claim has to be validated by you rather than read from a changelog. If you adopt it, plan on owning the fork and the maintenance burden yourselves.
- What are the alternatives for monitoring scheduled tasks in Laravel?
- For visibility alone, php artisan schedule:list ships natively and covers the same ground for free on modern Laravel. For alerting and audit, spatie/laravel-schedule-monitor records run history and notifies on missed or failed runs. If a UI is genuinely required, a thin custom admin page backed by the Schedule facade is roughly a day of work and avoids owning a fork.
- How do I migrate away from this extension to something supported?
- Start by inventorying every event registered in App\Console\Kernel, or in routes/console.php on Laravel 11, then replace the UI with php artisan schedule:list wrapped in an internal runbook or a small custom admin page. Add withoutOverlapping() and onOneServer() to any event that mutates shared state before exposing any manual-trigger capability. For alerting, adopt spatie/laravel-schedule-monitor alongside the replacement. The migration is straightforward enough that it is worth doing regardless of whether you keep laravel-admin.
- Which Laravel and PHP versions is this extension appropriate for?
- It is only reasonable for a legacy Laravel 5.5 through 8 application already running laravel-admin 1.8.x, where it works as a read-mostly observability convenience. It is not appropriate for greenfield work and should not influence framework upgrade decisions. On Laravel 9+ and PHP 8.1+ you should assume patching or replacement is required.