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
Rabbitevents

Rabbitevents Laravel Package

nuwber/rabbitevents

RabbitEvents is a Laravel package for event-driven microservices over RabbitMQ. Define Laravel-style event classes, publish them from one service, and listen in others with configurable queues and routing.

View on GitHub
Deep Wiki
Context7

The Nuwber RabbitEvents package

Frequently asked questions about Rabbitevents
What is nuwber/rabbitevents used for in Laravel?
RabbitEvents is best suited to event-driven microservices where RabbitMQ is already the sanctioned system-to-system backbone. It lets one Laravel service publish event classes to RabbitMQ and other services subscribe with dedicated listeners and configurable queues. It is a poor fit if your estate standardizes on Redis, SQS, or Kafka, or if many non-PHP services must share the messaging contract.
How do I install and configure RabbitEvents in a Laravel app?
Install it with Composer using a pinned 9.1.x constraint such as nuwber/rabbitevents:~9.1.3, then publish the package configuration and point it at an existing RabbitMQ vhost. Define the event-to-routing-key map before writing listeners, because that topology decision is the main integration effort. Run one Artisan-driven consumer worker per consumer group rather than co-locating consumers on existing queue workers.
Does RabbitEvents support Laravel's native event classes and listeners?
The package provides Laravel-style event classes and handler abstractions rather than replacing Laravel's event dispatcher wholesale. Events are declared with attributes, published from your application, and consumed by Artisan-driven listeners with a middleware pipeline. Configuration and service provider integration follow Laravel conventions, so it feels native while staying a separate RabbitMQ messaging path.
Which Laravel and PHP versions does RabbitEvents require?
The package requires PHP 8.x and a Laravel version that provides the event dispatcher, service provider, and console kernel used by the integration. The provided assessment does not list exact Laravel minor-version constraints, so verify the current composer.json requirements on Packagist before adoption. Pin a tested 9.1.x release rather than floating across 9.x minors.
How do I test RabbitEvents publishers and consumers?
There is no dedicated testing helper described in the provided material, so unit-test event payloads and handler logic in isolation. Add integration tests that publish to a real RabbitMQ vhost and assert routing, queue consumption, and handler behavior. After upgrading to 9.1.3, explicitly verify that the General log writer renders payloads as expected if you rely on log-based checks.
Is RabbitEvents a replacement for Laravel queues?
No, RabbitEvents runs parallel to Laravel's default queue connection and is intended for RabbitMQ-backed system-to-system events. Use native Laravel queues for ordinary application jobs and keep in-process events untouched during incremental adoption. Adding RabbitEvents when RabbitMQ is not already sanctioned creates a second messaging paradigm you must operate and govern.
How should I run RabbitEvents consumers in production?
Deploy consumers as a separate deployment unit with their own container, scaling policy, and restart semantics. Do not co-locate them on existing queue workers because RabbitMQ consumer failure and backpressure behavior differs materially. Define retry and dead-letter policy, payload versioning, and monitoring before putting the consumer group into production.
What changed in RabbitEvents 9.1.3 and is the upgrade safe?
Version 9.1.3 is a one-line corrective patch that fixes the listener to read the handler payload via payload(). It is a drop-in upgrade from 9.1.x with no config, contract, or consumer-code changes described. Deploy to staging, confirm logs render payloads, and check whether any downstream alerting parses the changed log output.
What are alternatives to RabbitEvents for Laravel messaging?
If RabbitMQ is not mandatory, Laravel's native queue drivers such as Redis or SQS are simpler alternatives for ordinary async work. For broader event streaming or polyglot estates, Kafka or a bespoke AMQP layer may fit better than a Laravel-specific RabbitMQ abstraction. Choose RabbitEvents when its routing, listener, and middleware abstractions reduce custom AMQP plumbing for PHP services.
Is RabbitEvents actively maintained and safe for critical systems?
It is MIT-licensed with roughly 118 stars and a single maintainer plus a small contributor set, so concentration risk is low to moderate. The 9.1.3 patch is the only hard maintenance evidence in the assessment, which supports pinning ~9.1.3 and reviewing 9.x patch diffs before rollout. It is reasonable for supporting integration flows, but not for a Tier-1 critical path without a fork or vendoring contingency and a named owner.
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.
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo
bernskioldmedia/laravel-harvest
bernskiold/laravel-data-scrubber
bernskiold/laravel-currency-converter
bernskiold/laravel-campaign-monitor
bernskioldmedia/laravel-autotranslate
siberfx/telegram-bot
roy-sandip/laravel-view-extended
gregsphotography/site-builder-core
roy-sandip/laravel-view
anodyne/blade-fluentui-icons
webx-ui/module-catalog-collections