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 Laravel Package

almatar/rabbitmq

almatar/rabbitmq is a lightweight Laravel/PHP package that integrates RabbitMQ for reliable message publishing and consuming. It simplifies broker configuration and supports queue-based workflows for asynchronous jobs and events.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Verdict: do not adopt (unchanged). v1.2.0 does not alter the verdict — it confirms it. The release is a single chore: commit that formalizes the [DEPRECATED] marker and adds a migration guide. There are no functional changes: no new features, no breaking changes, no compatibility work. Deprecation has moved from the repository description into a versioned, tagged artifact, which is the clearest possible signal that the package is at end of life. The only defensible engagement remains a time-boxed exit from an existing install.

Architecture fit. Unchanged. The package is a thin adapter: it wraps php-amqplib and registers a Laravel/Lumen queue connector plus service provider so Queue::connection('rabbitmq') dispatches jobs over AMQP. It does not own messaging semantics, exchange topology, or worker lifecycle — those remain with RabbitMQ and Laravel's queue worker. Consequence: replaceable with low conceptual friction, but little differentiated value, so there is no architectural reason to accept its risk. Fit is limited to legacy Laravel/Lumen applications already pinned to the framework generations it was written against; it is not a candidate for a modern Laravel 10/11/12 service.

Integration feasibility. Low, and now unambiguously so. v1.2.0 ships documentation and metadata only, which has two practical consequences worth recording: (1) pinning v1.2.0 in an existing install is a near-zero-risk bump that surfaces the deprecation notice to anyone reading the lockfile or vendor tree — useful as an in-repo signal; (2) the new migration guide is an upstream artifact we can consume, but it arrived in a single PR from a maintainer who is exiting the project. Treat it as a starting checklist, not an authority — it has not been validated against our topology and will not be maintained. The MIT license still permits forking/vendoring for a short bridge, but forking converts a dependency cost into a permanent headcount cost, which is not the right trade for a 4-star, zero-dependent wrapper with an actively maintained alternative.

Technical risk. High and asymmetric. Primary risks: (1) transitive exposure — pinned php-amqplib versions age out of security coverage with no patch path short of forking; (2) framework drift — Laravel queue contracts (JobPopping, connector registration, worker events) change across majors, and an unmaintained driver fails at runtime, typically in production workers, not at install time; (3) bus factor of one, now demonstrably realized — the maintainer has formally exited; (4) the "recent release" false-confidence trap is now fully resolved: v1.2.0 is the terminal deprecation release, not a maintenance signal, and the archive status overrides the version number. A related new risk is guide drift — teams following the v1.2.0 migration guide without validating it against their own exchange/routing-key topology may introduce silent message loss at cutover. Zero dependents and 4 stars mean no ecosystem validation: no downstream project has hardened this code path. The internal opportunity score (5.42) reflects activity signals, not adoption fitness, and should not be used to justify selection here.

Key questions to close before any decision:

  • What Laravel and PHP versions does the current composer.json actually permit, and does the app's locked matrix fall inside it?
  • Does the codebase use the package only as a queue connector, or does it also call exposed AMQP helpers directly (which would raise migration cost)?
  • Is Lumen support required? Confirm the recommended successor covers it before committing to the swap.
  • Are there internal forks or vendored copies already in the estate that we would need to reconcile?
  • Which teams currently depend on this transitively, even if composer dependents shows zero?
  • What is the message-in-flight compatibility story if we change drivers — are exchange names, routing keys, and payload envelopes preserved?
  • Has anyone diffed the v1.2.0 migration guide against our actual config/queue.php connections, and does it cover every option we set (QoS/prefetch, heartbeats, delayed delivery, dead-letter wiring)?

Integration Approach

Stack fit. Two paths only. Path A (recommended): standardize on vladimir-yuldashev/laravel-queue-rabbitmq as the sanctioned AMQP queue driver across the estate and treat almatar/rabbitmq as prohibited for new work via a dependency-allowlist or CI check. Path B (exception): a legacy application pinned to an EOL Laravel version where the swap is blocked by other constraints — vendor the package, freeze it at v1.2.0, and attach an owner and an exit date. v1.2.0 is now the correct freeze target precisely because it is the terminal, documentation-only release: it adds the deprecation notice at no functional cost. Path B is a debt instrument, not a solution.

Migration path. The seam is small enough to migrate in days, not quarters:

  1. Read the v1.2.0 migration guide (PR #10) — extract it as a checklist, then independently verify each config field against our own connection settings. Do not adopt its successor recommendation without the compatibility checks below.
  2. Inventory — grep config/queue.php for the rabbitmq connection, service provider registrations in config/app.php / bootstrap/providers.php, and any direct facade or AMQP class usage. Classify each as config-only or code-coupled.
  3. Map configuration — the two packages differ in config key naming (host/port/vhost/credentials, queue/exchange/routing key, QoS/prefetch). Produce a field-by-field mapping document before touching code; most migration defects surface here, not in the driver.
  4. Preserve topology — keep exchange names, queue names, routing keys, and message envelopes byte-identical so unconsumed messages and any external producers remain valid during cutover.
  5. Cut over — install successor, add the new connection, run it against a non-critical queue first, then flip the default connection.

Compatibility. Verify PHP constraint, ext-* requirements (sockets/bcmath/mbstring as applicable to php-amqplib), and that the successor declares support for the target Laravel major. Validate against the app's actual lockfile rather than the package's stated range — the constraint may be satisfied on paper while the code path is untested. For the v1.1.0 → v1.2.0 bump specifically: the changelog shows a docs/metadata-only diff, so it should be safe to take, but confirm by inspecting the diff rather than trusting the chore: label.

Sequencing. (1) Freeze new adoption immediately; (2) bump existing installs to v1.2.0 so the deprecation is visible in-tree and in the lockfile; (3) audit and classify existing usage against the upstream migration guide; (4) pilot successor on one low-risk queue with a shadow consumer; (5) migrate remaining connections queue-by-queue; (6) remove the deprecated dependency and add a CI guard preventing reintroduction; (7) for any deferred Path B app, record owner, freeze version (v1.2.0), rationale, and review date in the risk register.

Operational Impact

Maintenance. Zero upstream, now confirmed rather than inferred: v1.2.0 is the terminal release, and the maintainer's final act was to document the exit. Every future fix — PHP upgrade, CVE in php-amqplib, Laravel major bump — becomes internal work on a codebase no one on the team wrote. Budget the true cost as "we now own this file," not "we saved an integration." The migration guide is a one-time artifact and will not be updated; treat it as frozen documentation with the same expiry characteristics as the code.

Support. Community-only and effectively absent: archived issues, no maintainer response, no vendor. Any production incident traced to the driver has no escalation path. This remains the decisive operational argument — the maintained alternative has an accountable maintainer and a responsive issue tracker.

Scaling. The package does not meaningfully influence throughput; scaling lives in RabbitMQ topology, prefetch/QoS settings, worker concurrency, and connection management. Risk is that the wrapper may not surface the knobs you need (prefetch, heartbeat, reconnect/backoff, delayed delivery) or may not track newer driver interfaces, so scaling work becomes a patch-the-fork exercise. Assume any performance tuning requires reading and possibly modifying driver internals.

Failure modes to watch. Silent connection drops in long-running workers with no reconnect policy; unhandled AMQPConnectionException surfacing as opaque job failures; memory growth in daemon workers under older framework worker implementations; upgrade-time fatal errors from changed queue contracts; and, distinctively, late failures — the install succeeds, the regression appears weeks later in a consumer restart, which makes root-cause attribution slow. Add one more introduced by this release: teams migrating on the strength of the upstream guide alone, without a topology diff, producing a driver swap that appears successful while dropping messages at the exchange/binding layer.

Ramp-up. The Laravel queue abstraction is familiar to most PHP engineers, so the wrapper itself is a low-learning-cost component. The real ramp-up is AMQP literacy: exchanges, bindings, routing keys, acks/nacks, prefetch, and dead-letter semantics. Do not let the small package size imply a small operational surface, and do not let the existence of an official migration guide imply the migration is turnkey — it is a checklist authored by someone leaving the project, not a validated runbook. Engineers inheriting this need RabbitMQ fluency plus the discipline to treat a deprecated fork as production-critical owned code. Onboarding documentation should state plainly why the fork exists, that v1.2.0 is its final version, and when it will be removed; undocumented forks outlive their justification.

Recommendation. Reject for new development, mandate the maintained successor, and treat existing installs as a tracked migration item with an owner and a date. Use the v1.2.0 migration guide as an input, not an authority. The cost of migrating now is measured in days; the cost of an unmaintained AMQP driver failing during a framework upgrade or a security review is measured in releases.

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.
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator