andrey-helldar/laravel-actions
Laravel Actions lets you encapsulate business logic in reusable action classes and run them as controllers, jobs, listeners, or console commands. With an expressive API and Laravel-friendly conventions, it keeps applications cleaner, more testable, and free of duplicated code.
queue.job config override lets you substitute your own job class without forking the package. That unlocks product-level decisions like routing certain operations to a dedicated queue/connection, injecting tenant context, applying a standard retry/backoff policy, or layering in tracing — all without owning the dispatch layer.--isolated fix aligns the package with Laravel core presence semantics. If "only one of these runs at a time" is a promise you make internally (billing reconciliation, nightly syncs), a semantics-alignment fix reduces the class of bugs where behavior differs between environments or between core Artisan and this package.Adopt when:
Look elsewhere when:
For executives: this release makes duplicate-execution protection and job customization configuration instead of engineering work. Practically, that means fewer incidents where the same operation runs twice and produces a real-world side effect — a duplicate charge, a duplicate email, a repeated sync — and less bespoke code we have to maintain to prevent it. It is an additive release with no breaking changes called out, so the cost of taking it is a routine upgrade plus a short verification pass.
For engineering: 7.3.0 adds two config levers and fixes one behavioral mismatch. (1) Uniqueness lock duration for queued operation jobs is now configurable — review current defaults against your longest expected runtime and your retry window before adopting. (2) queue.job lets you swap in a custom job class — the natural hook for tenancy, queue routing, and observability, and a way to stop maintaining patches. (3) --isolated now matches Laravel core presence semantics — treat this as a behavioral change, not a pure bugfix: audit any operation that relied on the previous interpretation, and verify in staging before rollout. Recommended path: pin 7.3.0 in staging, exercise the highest-side-effect operations, confirm lock durations explicitly rather than inheriting defaults, then promote.
How can I help you explore Laravel packages today?