Laravel Packages

Laravel Simple RabbitMQ Package

Published
Laravel Simple RabbitMQ Package image

The Simple RabbitMQ package for Laravel makes it simple to use RabbitMQ with support for multiple connections, easy publishing, and consumer mode. If you are already familiar with RabbitMQ, this package lets you easily configure multiple queues and exchange connections via Laravel's service container:

// Default connection
SimpleMQ::queue('xp')
->setBody(['name' => '10 accepted answers', 'points' => 500])
->handler('award-xp')
->publish();
 
// Multiple connection support
SimpleMQ::connection('awards')
->queue('xp')
->setBody(['name' => '10 accepted answers', 'points' => 500])
->handler('award-xp')
->publish();

On the consumer end, here's an example of how you can register a handler to process a queue:

use App\AMQP\Handlers\AwardXPHandler;
use Usmonaliyev\SimpleRabbit\Facades\ActionMQ;
use Usmonaliyev\SimpleRabbit\MQ\Message;
 
class AwardXPHandler
{
public function handle(Message $message)
{
// do something...
 
$message->ack();
 
return ['ok' => true];
}
}
 
// Elsewhere, register a handler:
ActionMQ::register('award-xp', [AwardXPHandler::class, 'handle']);

Main Features

  • Multiple Connections: Effortlessly manage multiple RabbitMQ connections within the same application.
  • Exchange supporting: You can push messages to exchanges
  • Message Publishing: Easily publish messages to queues and exchange with a fluent, chainable syntax.
  • Consumer Mode: Enable consumers to receive and process messages from queues in real time.
  • Manage queues and exchanges in config file: You can register queues and exchanges in config/simple-mq.php and define them in easy way which is amqp:define-queues command.

The Simple RabbitMQ Laravel package uses php-amqplib as the RabbitMQ client—a pure PHP implementation of the AMQP protocol. If you've never used RabbitMQ, I recommend the RabbitMQ Tutorials and the RabbitMQ Documentation.

Get started with the Simple RabbitMQ Laravel package by viewing the README and source code on GitHub.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
Securing Filament plugins with Plumb image

Securing Filament plugins with Plumb

Read article
LayaPHP: Self-Hosted Text Classification for PHP and Laravel image

LayaPHP: Self-Hosted Text Classification for PHP and Laravel

Read article
WhenMounted and BigInt Props in Inertia.js v3.8 image

WhenMounted and BigInt Props in Inertia.js v3.8

Read article
Postcodes for Laravel: GB Postcode Lookup and Geography Data image

Postcodes for Laravel: GB Postcode Lookup and Geography Data

Read article
Laravel 14 Adds a defaults() Method to Eloquent Models image

Laravel 14 Adds a defaults() Method to Eloquent Models

Read article
Laravel AI SDK and Laravel MCP Security Fixes: Update Now image

Laravel AI SDK and Laravel MCP Security Fixes: Update Now

Read article