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

Saga Laravel Package

micro-module/saga

A Laravel package for orchestrating sagas: chain distributed transaction steps and automatically run compensating actions when one fails, keeping multi-service workflows consistent without long-lived locks.

View on GitHub
Deep Wiki
Context7

Micro module Saga common library

Frequently asked questions about Saga
How do I install micro-module/saga in a Laravel application?
Install it with Composer using composer require micro-module/saga. Laravel package auto-discovery registers the service provider, then you publish the configuration with php artisan vendor:publish and run the migration that creates the saga and step state tables. Pin the exact version you audited, because the package has no dependents surfacing version drift on your behalf.
Does micro-module/saga require the micro-module core package?
The repository name micro_modules_saga_ext suggests it is an extension to a sibling micro-module core package, so expect an additional dependency. Check composer.json for the required package name and its version constraint before installing, and audit that second package as well, since it is likely maintained by the same single author.
Which Laravel and PHP versions does micro-module/saga support?
The package targets modern Laravel on PHP 8.1 or newer, most plausibly Laravel 10 through 12, but the supported matrix is not documented in the overview. Read the require and require-dev blocks in composer.json and look for a CI workflow that actually runs the test suite against each Laravel major.
How does compensation work in micro-module/saga when a step fails?
Each saga is declared as an ordered sequence of steps, and every step pairs its execute action with a compensating action. When a later step throws, the coordinator runs the compensating actions of previously completed steps in reverse order, so already-committed work is undone without distributed locks.
Where does micro-module/saga persist saga state, and can a saga resume after a crash?
The package advertises persisted saga state with resumable execution, which typically means a database migration for saga and step records, though the overview does not name the store. Confirm whether state writes happen in the same transaction as your own step work, and test recovery by killing a queue worker mid-saga and restarting it.
Does micro-module/saga support retries and per-step timeouts?
Yes, configurable retries and per-step timeouts are listed features. What matters operationally is what happens after retries are exhausted: make sure a failed step transitions the saga into a terminal failed state and triggers compensation rather than sitting non-terminal forever, and check whether dead-letter handling exists.
Are saga steps in micro-module/saga executed synchronously or on a queue?
The package is designed around Laravel's queue system, so step execution is normally asynchronous behind a queue worker, with a synchronous path likely available for tests. Verify which drivers are officially supported and whether step delivery is at-least-once or exactly-once, because at-least-once means your own step code owns idempotency.
How do I keep compensating actions idempotent with micro-module/saga?
Compensations can be invoked more than once during retries or replays, so each one should be safe to run repeatedly, for example by checking a status column before reversing a charge or sending a cancel command. Also decide what happens when a compensation itself fails, since the package overview does not describe a secondary recovery path for that case.
How can I observe saga progress using events and hooks?
Micro-module/saga fires Laravel events and exposes hooks for observability, so you can listen for step start, step success, step failure and compensation events. Forward those into your existing logging and tracing stack so a stalled saga shows up in dashboards instead of being discovered by a customer.
Is micro-module/saga production-ready, and what alternatives should I evaluate?
Treat it as unproven: it has no stars, no dependents and no independent evidence of production use, so the realistic plan is a sandbox spike on one non-critical workflow and a fork under your own namespace if it proves out. Before committing, run a chaos pass with killed workers and replayed messages, and compare against mature options such as Temporal, Laravel Workflow, or a small in-house orchestration-plus-persistence layer for narrow scopes.
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.
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core