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

Cronbundle Laravel Package

kmj/cronbundle

KMJ CronBundle is a Symfony bundle for defining and managing cron jobs in PHP applications. It provides console commands and configuration to schedule recurring tasks, run them from your codebase, and keep cron-based automation organized and maintainable.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy on scheduling. The package validates a real, recurring product need — cron definitions living in version control alongside the application instead of being hand-edited on servers. That need belongs on the roadmap; this implementation does not. The decision it supports is "build on framework-native scheduling," not "buy this bundle."
  • Platform standardization. With 3 stars, 0 dependents, and a near-zero health score (0.045), this is a data point that our PHP scheduling story must be owned by the framework (Laravel's scheduler, symfony/scheduler) rather than a third-party bundle. Use it to settle the "which scheduler is standard?" conversation once.
  • Framework fit — flag this immediately. Despite being catalogued as a Laravel/PHP package, this is a Symfony2 bundle targeting PHP 5.x. Symfony 2.x has been end-of-life since November 2018. Adopting it is a stack-freeze decision, i.e. a tech-debt decision, not a feature decision. Any evaluation framed as "a Laravel scheduling option" should be closed at intake.
  • Migration and deprecation backlog. If any team already depends on it, the PM decision is a funded exit plan — replace with framework-native scheduling and move crontab installation into infrastructure-as-code — not an upgrade. Budget the work; do not schedule it as maintenance.
  • User stories worth capturing in discovery. Versioned schedule definitions, deploy-time crontab sync, per-environment schedules, overlap protection, and alerting on missed runs. These are the requirements a modern scheduler will satisfy; write them down now so the replacement is scoped against real needs.
  • Dependency-hygiene policy. Zero dependents, no CI or security disclosure channel, no active maintainer. This is a clean, citable example for an adoption gate: "no unmaintained dependencies on privileged paths." Add it to the architecture review checklist so this class of request is caught before it reaches the backlog.

When to Consider This Package

Consider it only under a narrow, tightly gated set of conditions — all of which must hold simultaneously:

  • You are maintaining a live Symfony 2.x application on PHP 5.x that cannot be upgraded this quarter.
  • You have an operational, audited need to write the system crontab from application code (typically deploy-time generation), and doing it by hand is causing production incidents.
  • You have vendored the source and accepted ownership of patching it, including auditing its shell execution path and permission model — crontab writes require elevated privileges or careful user scoping, and that is the main security surface.
  • You have confirmed there is no lighter path: a one-line deploy hook or a checked-in crontab template usually covers the same need with far less risk.

Look elsewhere in essentially every other case:

Situation Better fit
Laravel 8+ / 11+ Native scheduler (schedule:run, routes/console.php), dragonmantank/cron-expression for validation
Symfony 6.3+ symfony/scheduler — same concept, maintained
No in-app scheduling needed systemd timers, container/Kubernetes CronJob, cloud schedulers (EventBridge, Cloud Scheduler)
Only expression parsing/validation Use the cron-expression library directly; don't adopt a crontab manager
Multi-tenant or horizontally scaled services External scheduler + queue; host crontab writes do not survive autoscaling

Treat as hard "no" blockers: no recent commits, no test/CI signal, no security policy, no active maintainer, and a crontab write path requiring privileged execution.

How to Pitch It (Stakeholders)

Recommendation: do not adopt. This is an unmaintained Symfony2-era bundle (3 stars, 0 dependents, health score 0.045) that solves a legitimate problem — version-controlled, app-owned scheduling — with an approach both major PHP frameworks have since absorbed natively.

For executives: the underlying capability is worth building; this package is not worth buying. Adopting it would tie a production scheduling path to an end-of-life framework and an unmaintained dependency with no route to security patches. Cost of ownership isn't the license (free) — it's the permanent burden of patching a privileged crontab writer ourselves, plus a permanent onboarding tax on every future engineer who must learn an out-of-band mechanism that exists nowhere else in the stack. We can meet the same need with framework-native scheduling plus infrastructure-as-code for roughly one to two sprints of engineering, with zero new third-party dependency risk.

For engineering: treat this as a reference implementation, not a dependency. Read it for the ergonomics of declaring schedules in code; then implement with Laravel's native scheduler (including withoutOverlapping() and onOneServer()) or symfony/scheduler, plus dragonmantank/cron-expression for validation. Keep schedule definitions in the repo, generate and diff rather than blindly overwrite host crontabs, and scope any crontab mutation to a dedicated least-privilege user. Sequence it safely: inventory existing jobs, declare them natively, move cron installation into IaC, add heartbeat alerting on schedule:run before removing the old mechanism, then delete the write path entirely.

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.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core