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

Cron Manager Laravel Package

zpm-packages/cron-manager

Cron Manager for Laravel lets you define, organize, and monitor scheduled tasks in one place. Manage cron jobs from code or a dashboard, enable or disable entries, and track upcoming and past runs without digging through server crontabs.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. A cron manager targets a real, recurring gap in Laravel estates: the native scheduler is code-defined and engineer-only, so business stakeholders have no visibility into what runs, when, whether it succeeded, or how to pause a misbehaving job at 2am without a deploy. Packages in this category typically wrap Illuminate\Console\Scheduling\Schedule with a persistence layer (a scheduled_tasks table), an execution log, and a control surface to enable/disable/run-now. That maps cleanly onto a standard Laravel app: service provider auto-discovery, one or two migrations, published config. The architectural question that matters is whether it wraps the existing schedule:run entry (low blast radius, additive) or replaces it with its own runner invoked from cron (higher blast radius — you inherit its overlap, mutex, and timezone semantics). That distinction drives most of the risk below and should be the first thing confirmed in code review.

Integration feasibility. Mechanically straightforward for any team already on Laravel 10–12: Composer install, run migrations, point the existing * * * * * php artisan schedule:run entry at whichever command the package exposes. No infrastructure change, no new runtime dependency beyond the database you already have. If it ships a web UI, add auth middleware and a policy gate. Realistic effort for a spike is 1–2 engineer-days.

Technical risk. This is where the assessment turns negative, and the TPM should say so plainly. Zero stars, zero dependents, and a composite score of 10.3 means the package has no production evidence and no external review surface. Three specific concerns:

  • Provenance anomaly. The last release is dated 2026-05-06. Either the metadata is forward-dated/incorrect, or the registry and repository disagree about what exists. Either way, verify tags in the repo against what Composer would actually resolve before anyone runs composer require. Treat a mismatch as disqualifying pending explanation.
  • Unvetted code path with elevated privileges. Cron managers execute arbitrary registered commands and often capture output to disk or DB. A defect here is not a rendering bug — it is unauthorized command execution or a silent halt to billing, sync, or cleanup jobs. With no dependents and no security disclosure channel, you are the only reviewer.
  • Semantic divergence. If it re-implements scheduling rather than delegating, subtle differences in withoutOverlapping, onOneServer, timezone handling, or runInBackground can change behavior of jobs that currently work correctly. These failures are quiet and often discovered via downstream data corruption, not alerts.

Key questions for the maintainer (or the code, if no maintainer responds).

  1. Does it wrap schedule:run or replace it with a custom runner?
  2. How are withoutOverlapping and onOneServer enforced — cache locks, DB rows, or not at all? Which cache driver is required?
  3. What is the supported Laravel/PHP constraint matrix, and is it tested in CI?
  4. Where does job output go, and is there retention/rotation?
  5. What authentication/authorization does the control surface assume by default?
  6. What is the versioning and support policy — is there a named maintainer with a commit history predating this package?
  7. Does disabling a task in the UI persist across deploys, or is it overwritten by code-defined schedules on boot?

Integration Approach

Stack fit. Assume Laravel 10+ on PHP 8.1+, MySQL/Postgres, Redis available. The package is additive to the existing app/Console/Kernel.php or routes/console.php definitions — no rewrite of job code required. If a UI is bundled, confirm whether it ships prebuilt assets or requires npm in your pipeline; prebuilt is strongly preferred for an internal tool.

Migration path. Do not adopt fleet-wide. Select one internal, low-consequence application — an admin back-office or reporting service, not anything touching payments, provisioning, or customer data. Install behind a feature branch, run migrations in staging first, and mirror only two or three idempotent, read-mostly scheduled commands. Run in parallel with the existing scheduler for one to two weeks and diff the execution records. Promote only on clean parity.

Compatibility. Check for collisions with anything already providing schedule observability (spatie/laravel-schedule-monitor is common). Two systems both writing execution state produce confusing incident timelines. Confirm migration timestamps don't clash and that the published config file name is namespaced. Verify the package's Composer constraints actually resolve against your locked framework version rather than relying on the README.

Sequencing.

  1. Provenance and licence check; reconcile the 2026 release date against repo tags.
  2. Static read of the service provider, the runner command, and the lock implementation — 2–4 hours of engineer time, non-negotiable.
  3. Dependency/security scan and a licence compatibility check for commercial redistribution.
  4. Staging install with migrations and a rollback rehearsal.
  5. Shadow-mode pilot on one app, 1–2 weeks.
  6. Decision gate: adopt, fork-and-own, or replicate the small subset you actually need (~1 sprint) internally.

Given zero dependents, fork-and-own should be treated as a first-class outcome, not a fallback. The valuable part of this package is the pattern, not the artifact.

Operational Impact

Maintenance. Realistically, you inherit it. Zero dependents means no upstream issue pressure, no third-party bug reports surfacing problems before you hit them, and no signal that the maintainer is resourced to respond. Budget explicit ownership: pinned version in composer.json, a named internal owner, and a scheduled quarterly review to check for releases or framework incompatibility. A fork gives you control at the cost of permanent maintenance; an unowned dependency gives you neither.

Support. No community, no Stack Overflow corpus, no track record of responsive triage. Your team's internal runbook is the documentation. Require the adopting engineer to write a one-pager covering: how to disable a runaway job, how to clear a stuck lock, how to roll back migrations, and who to page.

Scaling. The persistence layer is the scaling concern. DB-backed schedule tables become write-contention points at high task counts or short intervals, and execution logging grows unbounded unless retention is configured — plan a prune job from day one. Multi-node deployments need onOneServer semantics backed by a shared cache (Redis); file-based cache locks will silently allow duplicate execution on every node. Confirm this before any horizontal scaling.

Failure modes to instrument. Silent job failure with no alert (the package does not replace your alerting); drift between DB-defined and code-defined schedules after a deploy; orphaned locks halting a job indefinitely; log/output tables filling the primary database; misconfigured auth leaving the control surface publicly reachable — this last one is the most severe and the easiest to miss during a quick pilot. Each should have a detection: alert on missed expected executions, a lock-age monitor, a table-size check, and a route-level auth test in CI.

Ramp-up. Low. A Laravel-comfortable engineer will be productive in an afternoon; the package surface is small and the domain is familiar. The cost is not learning curve, it is verification — the hours go into reading the scheduler wrapper and the locking code, not into learning an API.

Recommendation. Conditional go for a single internal tool where a bad cron job is an inconvenience. No-go for customer-facing, financial, or compliance-scoped applications until provenance is explained and the runner/locking semantics are read and verified by your own engineer. The underlying need — ops visibility into scheduled jobs for non-engineers — is legitimate and worth solving; this specific package has not yet earned the trust that solving it requires.

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.
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log