zpm-packages/cron-manager-laravel
Manage Laravel scheduled tasks from a central interface. Cron Manager for Laravel helps you view, organize, and control cron jobs and scheduled commands, making it easier to monitor what runs and when. A lightweight package for clearer visibility into your app's schedule.
Package: zpm-packages/cron-manager-laravel v1.0.0 — first stable release. The release notes contain only a changelog link, so the assessment below is derived from the package name, scope, and release status. Behavioural claims must be confirmed against source during the spike.
Architecture fit. Laravel's scheduler is a single code-defined entry point (routes/console.php on L11+, app/Console/Kernel.php on L10 and earlier). A cron manager package realistically occupies one of three positions: (a) an observer that reads the resolved Illuminate\Console\Scheduling\Schedule collection and reports on it, (b) a decorator that registers DB-defined tasks into that collection at boot, or (c) an authoritative store that replaces code-defined schedules entirely. (a) is additive and low-risk; (c) is an architectural commitment that inverts where schedule logic lives and should be treated as a design decision, not a dependency install. Confirm which before scoping.
Integration feasibility. Presumed standard Composer install with package auto-discovery, publishable config and migrations. Effort is low if convention-following. The real cost is not installation but the inventory and migration of existing scheduled tasks.
Technical risk.
onOneServer / withoutOverlapping interaction.schedule:list, schedule:test, schedule:interrupt already cover inspection and manual invocation. Confirm this package adds distinct value rather than duplicating framework surface.Key questions.
onOneServer?zpm-packages?Stack fit. Expect a Laravel 10+ application on PHP 8.1+, a database for schedule persistence, and a shared cache (Redis) if distributed locks are used. Confirm compatibility constraints on illuminate/console and illuminate/support before committing.
Migration path. The system crontab entry (* * * * * php artisan schedule:run) must remain unchanged — this package manages what runs, not whether the scheduler ticks. If adopting the authoritative mode, migration means: export current schedule definitions, express them as seeded records, verify parity, then remove them from code. Keep the old definitions in version control until parity is proven across a full weekly cycle, since weekly and monthly tasks are the ones that fail silently during a short pilot.
Compatibility. Screen for conflicts with packages that also hook the scheduler lifecycle — schedule monitors, uptime checkers, and queue/observability agents are the usual collision points. Verify against the app's existing Schedule customisations.
Sequencing.
schedule:list for a full week.Maintenance. Single-vendor dependency on a small package organisation; maintainer count and release cadence are unverified. Pin to an exact version and review before any minor bump — at 1.0.x, minor releases may still carry behaviour changes.
Support. No documentation, issue-tracker activity, or security policy is evidenced in this release. Budget for the possibility that the team owns the fork. Capture this as a specific due-diligence gap rather than a general concern.
Scaling. Two failure modes dominate. First, multi-node deployments: without onOneServer or an equivalent lock, adding a cron manager can increase the blast radius of duplicate execution. Second, if schedule definitions are read from the database on every minute-tick across every node, that is a small but permanent query load and a new hard dependency — the scheduler stops working if the database is unavailable, where previously it may have run independently.
Failure modes.
schedule:run. Mitigate by testing provider registration under failure conditions.withoutOverlapping, now easier to create if tasks are added via a UI.Ramp-up. Low for Laravel-fluent engineers — the mental model is familiar. Higher for operators, who will need a runbook covering how to add, disable, and audit a schedule, and a clear statement of whether the database or the codebase is the source of truth. Publish that rule before rollout; ambiguity here is what generates incidents later.
How can I help you explore Laravel packages today?