Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Scheduling Laravel Package

laravel-admin-ext/scheduling

Laravel-admin extension that adds a web UI for managing scheduled tasks: create, edit, enable or disable, run and monitor cron jobs from the admin panel instead of hand-editing the console kernel, with task logs for tracking results.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. The package is not a standalone library; it is a plugin for encore/laravel-admin, the CRUD scaffolding layer that dominated Laravel admin panels circa 2017–2020. Its value proposition is narrow: surface the events registered on Laravel's Illuminate\Console\Scheduling\Schedule in an admin screen, with cron expressions, next-run times, and manual "run now" actions. Fit is therefore binary — it is only viable if laravel-admin is already a load-bearing dependency. For any application on Laravel 9+, and certainly Laravel 10/11 (which moved scheduling definitions into routes/console.php and shipped php artisan schedule:list natively), there is no architectural slot for it.

Integration feasibility. Low risk to evaluate, high friction to adopt. Installation is a standard composer require plus an admin route/menu registration, but every integration point is inherited from laravel-admin's extension contract (controller base classes, permission middleware, asset publishing). That contract has not evolved since the upstream project effectively stalled. The package's own last release was October 2021, and it has zero dependents — meaning no downstream project is exercising it against modern framework versions, so any compatibility claim must be validated by us, not read from a changelog.

Technical risk.

  • Version risk: near-certain incompatibility with Laravel 9+/PHP 8.1+ without patching; laravel-admin itself caps out well behind current Laravel.
  • Security surface: an admin UI that triggers scheduled commands is a privilege-escalation vector. Anyone with admin panel access can force-execute jobs, including destructive maintenance tasks, outside their normal cadence.
  • Correctness risk: manual execution typically bypasses cron-level mutexes; without withoutOverlapping() and onOneServer() on the underlying events, a "run now" click can double-run a job alongside a live cron invocation.
  • Abandonment risk: 92 stars and a 2021 release indicate no maintainer bandwidth. We would be the maintainer.

Key questions to resolve before committing engineering time.

  1. Is encore/laravel-admin already in production here, and on which Laravel/PHP pair?
  2. Does the UI read-only, or does it also execute and/or persist run history and exit codes?
  3. What is the actual business need — visibility, alerting, or manual triggering? schedule:list covers visibility free; Spatie's schedule-monitor covers alerting.
  4. Who owns the fork if upstream goes quiet (it already has)?
  5. Does the admin panel sit behind SSO, MFA, and role-scoped permissions today?

Given a score of 3.47 and an opportunity score of 20.41, my read is that this package is a legacy convenience feature, not a strategic dependency.

Integration Approach

Stack fit. Acceptable only for a legacy Laravel 5.5–8 application already running laravel-admin 1.8.x. In that context it is a reasonable read-mostly observability convenience. It is not appropriate for greenfield work, and it should not be a factor in framework upgrade decisions.

Migration path. If the underlying need is scheduler visibility, the migration is straightforward and worth doing regardless:

  • Inventory every event currently registered in App\Console\Kernel (or routes/console.php on Laravel 11).
  • Replace the UI with php artisan schedule:list wrapped in an internal runbook, or a thin custom admin page backed by the Schedule facade if a UI is genuinely required — roughly a day of work versus owning a fork.
  • For alerting and audit, adopt spatie/laravel-schedule-monitor, which records run history and notifies on missed or failed runs.
  • Add withoutOverlapping() and onOneServer() to any event that mutates shared state before enabling any manual-trigger capability.

Compatibility. Verify composer constraints against our PHP and Laravel pins before anything else; a failed composer require in a scratch branch is the cheapest possible decision point. Pay particular attention to PHP 8.1+ deprecations in laravel-admin's dependency tree, not just this package.

Sequencing.

  1. Confirm laravel-admin presence and version (blocking gate).
  2. Timebox a half-day spike: install in a scratch environment, confirm the task list renders accurately, and confirm whether manual execution exists.
  3. Security review of the manual-trigger path and admin permission scoping.
  4. Ship behind the existing admin auth, read-only if possible.
  5. If laravel-admin is on a deprecation path, treat this as a short-lived internal tool and do not let it accumulate customizations.

Operational Impact

Maintenance. Effectively unmaintained upstream. Zero dependents means no community regression coverage, so framework or PHP upgrades will surface breakage in our environment first. Assume we own the fork and budget accordingly — realistically a few hours per upgrade cycle, more if laravel-admin itself needs patching.

Support. GitHub issues only, on a repository with a small audience. No vendor, no SLA, no security advisory process we can rely on. Internal documentation of what the screen does and who may use it becomes mandatory rather than nice-to-have.

Scaling. The UI itself does not scale-load; it reflects whatever the scheduler holds. The real scaling concern is distributed execution: with multiple app nodes, a manual trigger from one node can race a cron invocation on another. This is a property of the underlying events, not the package, but the package makes the race reachable by a mouse click. Mitigate with scheduler-level locks before enabling the trigger.

Failure modes to plan for.

  • Admin screen shows stale or incorrect next-run times due to timezone drift between the UI and the scheduler.
  • Manual execution bypasses overlap protection, producing duplicate side effects (double emails, double invoices).
  • Package or its laravel-admin base breaks mid-upgrade, taking the admin panel route with it.
  • Over-broad admin permissions grant job-triggering to users who should only have read access.
  • Silent drift: tasks added to the scheduler after install may not render as expected without verification.

Ramp-up. Low for engineers already fluent in laravel-admin conventions; moderate for everyone else, because laravel-admin's controller/menu/permission idioms are non-obvious and undocumented relative to core Laravel. The package adds no new concepts on top of that, which is its one genuine strength.

Recommendation. Approve as a read-only, low-blast-radius convenience only if laravel-admin is already in production. Otherwise decline and redirect the request to schedule:list plus a lightweight monitor — the operational cost of owning an abandoned plugin exceeds the value of the screen it provides.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings