amrlotfy/laravel-chores
amrlotfy/laravel-chores offers a lightweight way to define and manage recurring household chores in Laravel apps, with scheduling, assignments, and completion tracking. Eloquent-friendly models and simple configuration help you add chore rotations without building the plumbing yourself.
php artisan scripts with chunkById, which is where outages come from. This package is a candidate "buy" for that recurring need — a small, MIT-licensed primitive rather than a platform.Adopt only after a timeboxed spike, and treat the 35 stars / 0.175 score as the headline signal: this is an unproven, almost certainly single-maintainer package sitting directly in the path of code that mutates production data. Low adoption isn't disqualifying for a thin, MIT, forkable utility — but it does mean you are the QA and the support contract.
Criteria that must hold before it goes near production data:
migrate:fresh and multi-environment promotion, and can an operator inspect and reset it without hand-editing rows?Chore/BatchOperation abstraction) so swapping to a fork or a homegrown version is a day, not a rewrite?Look elsewhere — or build in-house — when: your stack is on an unsupported Laravel/PHP version; you need exactly-once semantics across multiple systems (queues plus external APIs) rather than just DB batches; you need rich scheduling/observability UI (compose with Horizon/Sentry instead); or your compliance posture forbids unaudited, low-adoption dependencies in code paths that touch PII. Note also that Laravel's own job batches plus chunkById cover roughly 80% of the happy path — the genuine gap this fills is durable checkpoints across restarts and operator ergonomics. If your backfills are short and re-runnable, you may not have the problem this solves.
One-liner: a small, free (MIT) Laravel utility that lets long data operations — backfills, cleanups, data migrations — run in checkpointed batches that pause and resume instead of failing halfway, so they can safely run during business hours and survive deploys and restarts.
To executives: this is a risk-and-velocity purchase, not a feature. It lets us ship schema and data changes we've been deferring because they needed downtime, and it shrinks the blast radius when a data operation goes wrong — a half-finished job becomes a resumable job instead of an incident. Cost is near zero (MIT, no license, small integration surface); the real investment is engineering diligence, not procurement.
To engineering: we'd adopt it behind our own thin abstraction, pin the version, and audit the source before first production use — with mandatory dry-run, throttling, and idempotent batch operations as our own guardrails. It's 35 stars and likely one maintainer, so we budget for a fork or a two-day homegrown replacement rather than assuming upstream support. Success criteria for the spike: one real backfill completed on staging with a mid-run kill and clean resume, checkpoint state visible and resettable, and no measurable replica lag at our chosen batch size. If it passes, we standardize on the pattern; if not, we keep the pattern and drop the dependency.
How can I help you explore Laravel packages today?