Пакет 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']);
# Основні можливості
- Декілька з'єднань: Легко управляйте кількома з'єднаннями RabbitMQ в одному додатку.
- Підтримка обміну: Ви можете надсилати повідомлення до обмінників.
- Публікація повідомлень: Легко публікуйте повідомлення до черг і обмінників, використовуючи зрозумілий синтаксис-ланцюг.
- Режим споживача: Дозволяє споживачам отримувати та обробляти повідомлення з черг у реальному часі.
- Управління чергами та обмінниками у файлі конфігурації: Ви можете реєструвати черги та обмінники у config/simple-mq.php та визначати їх за допомогою команди amqp:define-queues.
Пакет Simple RabbitMQ для Laravel використовує php-amqplib як клієнт RabbitMQ — чисту PHP-реалізацію протоколу AMQP. Якщо ви ніколи не використовували RabbitMQ, рекомендую ознайомитися з Уроками RabbitMQ та Документацією RabbitMQ.
Почніть роботу з пакетом Simple RabbitMQ для Laravel, переглянувши README та вихідний код на GitHub.