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

Amqp Bundle Laravel Package

wisembly/amqp-bundle

A Symfony bundle for integrating AMQP/RabbitMQ messaging into PHP applications. It provides services and configuration for connections, publishing, and consuming messages, wrapping the PHP AMQP extension to support asynchronous queues and background workers within Symfony’s dependency injection setu...

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit: Poor for a Laravel codebase. wisembly/amqp-bundle is a Symfony 2 bundle built on Swarrot, not a Laravel package. It depends on Symfony bundle registration, dependency-injection conventions, and Symfony 2-era configuration, which do not map cleanly to Laravel service providers, facades, config repositories, or the Illuminate\Queue worker model. Direct reuse in Laravel would require a compatibility layer or fork rather than normal package adoption.

Integration feasibility: Low. Installing a Symfony 2 bundle into a modern Laravel application is likely to create Composer dependency conflicts, PHP-version constraints, and framework bootstrap conflicts. The most feasible path is not direct integration but extracting the AMQP/Swarrot consumption patterns as reference material and implementing them with maintained Laravel-native or standalone PHP libraries.

Technical risk: High. The package is archived, last released in 2018, has 3 GitHub stars and 0 dependents, and targets Symfony 2, which is end-of-life. This implies no upstream security patching, no compatibility maintenance, limited community support, and high long-term ownership cost. Adopting it as a dependency would introduce avoidable supply-chain and maintainability risk for a production Laravel system.

Key questions:

  • Are we maintaining a legacy Symfony 2 application that already uses this bundle, or evaluating it for a Laravel application?
  • What AMQP behaviors are required: publish/consume, retries, dead-lettering, middleware, acknowledgements, or Swarrot-specific semantics?
  • Can the requirement be met with Laravel’s queue system plus a maintained AMQP driver, or with standalone php-amqplib/Swarrot alternatives?
  • What PHP and Laravel versions must be supported, and does this package’s dependency graph conflict with them?
  • Is there an internal owner willing to fork, patch, test, and support this code if adoption is unavoidable?
  • What is the migration/exit plan if the package becomes unusable or incompatible?

Integration Approach

Stack fit: Weak. Laravel’s queue abstraction, job dispatch, worker lifecycle, failed-job handling, and Horizon-style observability are built around Laravel contracts. This bundle assumes Symfony 2 bundle wiring and Swarrot’s consumer model. A Laravel integration would need an adapter layer that translates configuration, container bindings, worker commands, and failure handling.

Migration path: Do not install this bundle directly in a Laravel application. For a greenfield or modern Laravel service, use Laravel’s queue system with a maintained AMQP transport, or isolate AMQP publishing/consuming behind an internal interface implemented with php-amqplib or another actively maintained library. If a legacy Symfony 2 application already depends on the bundle, keep it isolated, wrap it behind application-owned interfaces, and plan migration away from Symfony 2 and Swarrot.

Compatibility: High concern. Symfony 2 and its dependency constraints are incompatible with modern Laravel and PHP 8.x stacks. Composer resolution is likely to fail, and any forced compatibility work would create a long-lived fork. The 2018 release date and archived status mean compatibility with current Laravel versions should be assumed unsupported until proven otherwise.

Sequencing:

  1. Confirm whether the need is legacy Symfony 2 maintenance or new Laravel delivery.
  2. Inventory required AMQP semantics and compare them to Laravel queue capabilities.
  3. Run a short spike using Laravel-native queue/AMQP or standalone php-amqplib; do not spike by installing this bundle into Laravel.
  4. If legacy reuse is mandatory, wrap the existing bundle behind an internal contract and add integration tests around publish, consume, retry, and failure paths.
  5. Migrate producers and consumers in parallel, observe message parity, then retire the Symfony 2 dependency.

Operational Impact

Maintenance: High. An archived Symfony 2 bundle with zero dependents has no meaningful upstream maintenance. The team would own security review, dependency patching, PHP compatibility, bug fixes, and documentation. This is disproportionate for a package that provides no unique Laravel integration value.

Support: Effectively none. Community support is minimal, release cadence stopped in 2018, and there is no vendor SLA. Internal support would require Symfony 2 and Swarrot expertise, which may not exist on a Laravel team.

Scaling: RabbitMQ scaling is primarily an infrastructure and consumer-design concern, not a property of this bundle. However, old consumer abstractions and Symfony 2 runtime constraints can limit worker concurrency, observability, graceful shutdown, and deployment patterns. Laravel-native queue workers or maintained standalone consumers are preferable for horizontal scaling and operational visibility.

Failure modes: Likely risks include dependency resolution failures, incompatible PHP/runtime behavior, consumer crashes without robust retry/dead-letter handling, unclear acknowledgement semantics, connection churn, poor signal handling, and limited metrics/tracing integration. Because the package is archived, defects in these areas are unlikely to be fixed upstream.

Ramp-up: High for a Laravel team. Engineers would need to learn Symfony 2 bundle conventions, Swarrot consumer patterns, and the package’s undocumented assumptions while also building a Laravel adapter. The low star count, zero dependents, and archived status mean examples, community answers, and production references are scarce. The TPM recommendation is to leverage this package only as a reference for legacy behavior, not as a dependency for Laravel delivery.

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.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings