Простий пакет RabbitMQ для Laravel

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 18 квітня, 2025
Вам цікаво дізнатися, як спростити інтеграцію RabbitMQ у вашому Laravel-додатку? У нашій статті ми розглянемо пакет Simple RabbitMQ, який дозволяє легко налаштувати багатозʼєднання, публікувати повідомлення та обробляти черги за допомогою простого синтаксису. Читайте далі, щоб дізнатися більше!

Пакет Simple RabbitMQ для Laravel спрощує роботу з RabbitMQ, підтримуючи декілька з'єднань, легке публікування та режим споживача. Якщо ви вже знайомі з RabbitMQ, цей пакет дозволяє легко налаштовувати кілька черг та з'єднань обміну через контейнер сервісів Laravel:

// Основне з'єднання
SimpleMQ::queue('xp')
    ->setBody(['name' => '10 accepted answers', 'points' => 500])
    ->handler('award-xp')
    ->publish();
 
// Підтримка кількох з'єднань
SimpleMQ::connection('awards')
    ->queue('xp')
    ->setBody(['name' => '10 accepted answers', 'points' => 500])
    ->handler('award-xp')
    ->publish();

З іншого боку, ось як можна зареєструвати обробник для обробки черги:

use App\AMQP\Handlers\AwardXPHandler;
use Usmonaliyev\SimpleRabbit\Facades\ActionMQ;
use Usmonaliyev\SimpleRabbit\MQ\Message;
 
class AwardXPHandler
{
    public function handle(Message $message)
    {
        // дії над повідомленням...
 
        $message->ack();
 
        return ['ok' => true];
    }
}
 
// Реєстрація обробника в іншому місці:
ActionMQ::register('award-xp', [AwardXPHandler::class, 'handle']);

# Основні можливості

Пакет Simple RabbitMQ для Laravel використовує php-amqplib як клієнт RabbitMQ — чисту PHP-реалізацію протоколу AMQP. Якщо ви ніколи не використовували RabbitMQ, рекомендую ознайомитися з Уроками RabbitMQ та Документацією RabbitMQ.

Почніть роботу з пакетом Simple RabbitMQ для Laravel, переглянувши README та вихідний код на GitHub.