Пакет 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.