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

Rabbitmq Sql Bundle Laravel Package

florianajir/rabbitmq-sql-bundle

A Symfony bundle that consumes messages from RabbitMQ queues and persists them into SQL databases, giving you a simple, configurable bridge between your message broker and relational storage.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Framing the "async persistence" build-vs-buy call. The underlying product need this package addresses is real and recurring: consuming messages off RabbitMQ and writing them into a relational store with relationship/foreign-key integrity preserved. That need shows up in webhook ingestion, audit/event logging, high-volume write offloading, and third-party data sync. Deciding how to satisfy it is the actual decision; this repo is evidence for scoping it, not a candidate dependency.
  • Sizing the feature honestly. A single-maintainer Symfony bundle that does queue-consume → transactional SQL write is a small artifact, which is a useful signal: the job is roughly a worker loop, a deserializer, a transaction boundary, and idempotency/dedupe handling. Expect days, not a quarter. That kills any "we need a vendor/framework for this" argument before it starts.
  • Roadmap input on reliability and data integrity. The package's existence highlights the two requirements any queue-to-SQL path must answer: at-least-once delivery (so writes must be idempotent) and relationship integrity (so related rows must land in one transaction or be compensated). Use this as a checklist item for any async-write epic on the roadmap, regardless of vendor.
  • Feature scoping for consumer-side concerns. Treats message-to-row mapping, relationship resolution, and retry/dead-letter behavior as first-class design decisions rather than afterthoughts in a controller.
  • A "no" that saves evaluation time. With 2 stars, 0 dependents, and a last release in May 2016, adopting it would import an unmaintained dependency into the critical write path. The PM decision it supports most directly is reject and build, with the repo retained as a design reference for engineering.
  • Platform mismatch flag (important). Despite being pitched here as a Laravel/PHP package, this is a Symfony bundle with no Laravel integration. For a Laravel codebase, "adopt" would silently mean "port," which changes the cost model entirely — a decision worth surfacing explicitly rather than discovering mid-sprint.

When to Consider This Package

Consider reading it (not requiring it) if:

  • You are on a legacy Symfony stack and want a compact reference implementation of a RabbitMQ consumer that persists related entities transactionally.
  • You are running a short spike to validate an async-write approach and want a worked example of the domain model before building your own.
  • You need a citation-level illustration of how relationship support was handled on the consumer side.

Look elsewhere — or build — if any of the following hold:

  • Maintenance viability: no release since 2016, no visible security-patch cadence, and effectively a single maintainer. Any dependency that sits on your write path needs a credible answer to "who fixes this when a CVE lands?"
  • Runtime compatibility: the 2016 vintage implies PHP 5.x/7.0-era and Symfony 2/3 constraints. Verify against your actual PHP and framework versions before spending further evaluation time; expect incompatibility with modern Doctrine, modern php-amqplib, and current Symfony releases.
  • Ecosystem signal: 0 dependents and 2 stars means no downstream users to find bugs, no community to answer questions, and no hiring pool that knows it.
  • Framework fit: you are on Laravel. There is no Laravel binding here; you would be reimplementing against the queue and Eloquent/Doctrine layer anyway.
  • You need operational features: observability, metrics, dead-letter handling, backpressure, schema evolution of message payloads, and multi-tenant isolation are almost certainly absent and would be your burden to add.
  • Licensing and provenance: confirm license terms and code quality (tests, CI) before any serious consideration — treat absence of these as disqualifying for production use.

Default recommendation: do not adopt. Build the consumer in-house on your existing queue abstraction (Symfony Messenger or Laravel's queue) with an explicit transaction boundary and idempotency keys. Reuse this repo only as a design reference if a spike is warranted.

How to Pitch It (Stakeholders)

To executives (30 seconds): We evaluated an open-source component for moving queued messages into our SQL database while keeping related records consistent. The problem is one we genuinely have; this solution is not adoptable — it is a nine-year-old, single-maintainer Symfony bundle with two stars and no downstream users, and it doesn't integrate with our framework. Putting it in the write path would create an unpatched-dependency and upgrade liability with no support path. Recommendation: build the consumer in-house — engineering estimates this at days, not weeks, because the scope is a worker loop, a transaction, and idempotency handling. Net effect: lower long-term risk, no vendor lock-in, and full ownership of a piece of infrastructure that sits on our critical data path.

To engineering (the ask): Don't vendor this. Use it as a reading reference for the relationship-persistence pattern only if you want a head start. Please come back with a short design that answers: transaction boundary for related rows, idempotency/dedupe strategy under at-least-once delivery, retry and dead-letter behavior, payload schema versioning, and how we observe failure rates. Timebox the spike; we need the design, not code reuse.

To security/compliance (the flag): Importing a 2016-era, single-maintainer package into the persistence path means no CVE response and no upgrade route. Excluding it keeps our dependency surface auditable and our patching obligations tractable.

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.
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
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