- What does sylius-labs/rabbitmq-simplebus-bundle actually do?
- It integrates php-amqplib/rabbitmq-bundle with simple-bus/symfony-bridge so that SimpleBus commands and events can be transported over RabbitMQ and handled asynchronously in background worker processes. The bundle provides Symfony DI configuration for exchanges, queues, and consumers, plus the transport wiring that connects those queues to the SimpleBus command and event buses. In practice it is plumbing for Symfony or Sylius applications that already standardize on SimpleBus.
- Does sylius-labs/rabbitmq-simplebus-bundle work with Laravel?
- No. Despite being distributed on Packagist, this is a Symfony bundle: it relies on a Symfony kernel, bundle registration, and DI extension loading, none of which exist in Laravel. It also assumes SimpleBus bundle-driven command and event bus wiring that Laravel has no concept of. Out of the box there is nothing a Laravel service provider can consume.
- Which PHP, Symfony, and SimpleBus versions are supported?
- The package was last released in November 2017, so its constraints target that era: Symfony 2.x/3.x dependency injection, SimpleBus 1.x/2.x, and contemporary php-amqplib versions. There is no test matrix or CI signal confirming behavior on PHP 8.x or current Symfony releases. Expect to patch typed signatures, deprecations, and newer library contracts before it will run on a modern stack.
- How do you install it in a Symfony or Sylius application?
- Install it with Composer, pinning a version compatible with your legacy stack, then register the bundle in AppKernel or config/bundles.php so its DI extension loads. After that you define exchanges, queues, and consumers in bundle configuration and run the consumer as a supervised background process. There is no documented installation path for Laravel and no Laravel service provider is shipped.
- How are queues, exchanges, and consumers configured and run?
- The bundle exposes configuration for declaring exchanges and queues and for mapping them to SimpleBus consumers, which is then translated into php-amqplib/rabbitmq-bundle service definitions. Consumers are long-running CLI processes, so they need a process supervisor such as Supervisor or systemd to stay alive and restart on failure. Validate your exchange and queue declarations against your broker conventions before relying on them in production.
- Is this package still actively maintained?
- No. The last release was 2017-11-10, the repository has around 11 stars and zero dependents, and there is no CI or compatibility matrix. That is a clear abandonware signal: no disclosure process, no patch cadence, and no maintainer commitment. If you adopt it, your team effectively becomes the maintainer.
- What should Laravel developers use instead for asynchronous RabbitMQ handling?
- Use Laravel's native queue system with a maintained RabbitMQ driver, or Symfony Messenger if the application is Symfony-based. Both give you retries, failed-job handling, worker supervision, and an actively maintained dependency chain. The bundle only makes sense when SimpleBus command and event semantics are already a requirement of the codebase.
- Can the bundle be adapted for a Laravel application if SimpleBus semantics are mandatory?
- Only as a fork-and-adapter project: reimplement the container wiring in a Laravel service provider, register SimpleBus command and event buses manually, wire the RabbitMQ transport factory, and hand-translate the bundle configuration into Laravel config. Keep the dependency behind an internal interface confined to the async boundary so it can be swapped later. This is net-new work with no upstream support and should be treated as a spike-gated decision, not a drop-in install.
- Is it safe to run in production?
- Treat it as high risk. The 2017-era transitive dependencies carry known CVEs, there is no security disclosure process, and nothing will be patched upstream. Before use, audit and pin or replace transitive libraries, verify compatibility against your PHP and broker versions, and confine the bundle to a single legacy bounded context. If you cannot own the fork indefinitely, choose a maintained alternative.
- Do I need SimpleBus semantics, or just reliable RabbitMQ delivery?
- Ask this first, because it determines whether this package is even the right tool. If you need command and event buses with a middleware pipeline and SimpleBus handler mapping, the bundle fits a legacy Symfony or Sylius context that already uses SimpleBus. If you only need reliable asynchronous delivery over RabbitMQ, this package is the wrong choice: use native Laravel queues or Symfony Messenger instead.