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
Broadway Saga

Broadway Saga Laravel Package

micro-module/broadway-saga

Micro Module Broadway Saga brings saga orchestration to Laravel applications using Broadway, helping you coordinate multi-step business workflows across domain events with event-sourced state and clean service-provider integration.

View on GitHub
Deep Wiki
Context7

At a glance

Frequently asked questions about Broadway Saga
What is micro-module/broadway-saga and what problem does it solve?
It is a Laravel micro-module wrapper that brings the Saga pattern to Broadway-based event-sourced applications. Sagas act as long-running process managers that react to domain events, track their own state, and dispatch follow-up commands so multi-step business workflows stay decoupled across aggregates. It keeps orchestration logic out of your aggregates and makes workflows resumable and testable.
How do I install micro-module/broadway-saga in a Laravel application?
You install it with Composer, and Laravel package auto-discovery registers a service provider that binds saga repositories and an event bus into the container, plus presumably a config file. The wrapper is small; the real setup work is underneath it, since you need Broadway already wired into your application. Because the package is unmaintained, fork it into your own VCS and require it via a vcs or path repository with a pinned commit rather than a floating Packagist constraint.
Does micro-module/broadway-saga support Laravel 10, Laravel 11, and PHP 8.2 or newer?
That is unverified. The package has a single release dated 2021-09-07, so its composer constraints almost certainly predate Laravel 10 and 11 and PHP 8.2. Check the composer.json constraints for php, illuminate/*, broadway/broadway, and doctrine/dbal before attempting an install, and expect service-provider and container-binding compatibility to need testing.
Can I use micro-module/broadway-saga with spatie/laravel-event-sourcing or without Broadway?
No. This package is a Laravel wrapper around Broadway and only fits an application that has already committed to Broadway as its event-sourcing backbone, or one willing to adopt it wholesale. It is not a general-purpose workflow or orchestration tool and does not compose with spatie/laravel-event-sourcing, Laravel queue batching, or external orchestrators such as Temporal or Camunda.
Where does micro-module/broadway-saga store saga state, and does it ship Eloquent models or migrations?
Broadway saga state is stored through a SagaStateRepository, and the upstream implementation is Doctrine DBAL-oriented with a per-saga table and a version or lock column for optimistic concurrency. That is an impedance mismatch in an Eloquent-first stack. There is no evidence of shipped migrations or an Eloquent adapter, so expect to register a raw PDO or DBAL connection or write your own repository implementation.
How do I test sagas defined with this package?
Saga definitions are described as simple and testable, and the pattern is naturally unit-testable: feed a saga a domain event and assert the commands it dispatches and the state it records. A full integration test should exercise persistence, the event bus wiring, and the state repository under your real database. Whether the package ships its own test suite and CI is unverified, so confirm that before relying on it.
Does micro-module/broadway-saga handle compensation, retries, timeouts, and failure handling?
The package advertises built-in compensation and failure handling for multi-step workflows. Timeouts, retries and backoff, and dead-letter handling are not clearly documented and may live in the upstream broadway/broadway-saga dependency or be absent by design. Verify what the wrapper actually adds versus what it inherits before designing your failure strategy around it.
Is micro-module/broadway-saga safe and maintained enough for production?
Treat it as high risk. It has zero stars, zero dependents, a single 2021 release, and a namespace that suggests an internal or experimental module, and it wraps an upstream Broadway project with low activity. The practical posture is to fork it, pin the exact upstream commit, and audit the small codebase yourself rather than installing it unread or from a floating constraint.
What exactly does micro-module/broadway-saga add over broadway/broadway-saga?
It appears to be a thin Laravel integration: a service provider, container bindings for saga repositories and the event bus, and likely a config file. Whether it also changes saga dispatch, state handling, or compensation behavior is unclear from the overview. Confirm whether it is a fork of broadway/broadway-saga, at what upstream commit, and whether it has diverged.
What are the alternatives for orchestrating multi-step Laravel workflows with compensation?
If Broadway is not already your event-sourcing backbone, a queue-driven state machine is cheaper to own: Laravel jobs plus an explicit saga_state table and idempotency keys. External orchestrators such as Temporal or Camunda are another option when workflows are long-running and cross-service. Use broadway-saga only when the service is genuinely event-sourced on Broadway; otherwise read this package as a reference implementation, not a dependency.
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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console