mucts/laravel-amqp

Laravel 8 的 AMQPMessage SDK

9.1.0 2022-02-16 08:27 UTC

This package is auto-updated.

Last update: 2024-09-16 13:54:31 UTC


README

Build Status Code Intelligence Status Scrutinizer Code Quality Total Downloads Latest Stable Version License

Laravel AMQP

Laravel 8 的 AMQPMessage SDK

安装

服务器要求

请确保您的服务器满足以下要求

  • php ^8.0
  • JSON PHP 扩展
  • 套接字 PHP 扩展
  • MBString PHP 扩展
  • php-amqplib/php-amqplib 3.0
  • laravel/framework ^8.41

Laravel 安装

composer require mucts/laravel-amqp

用法

  • AMQPMessage 发布者
<?php
use MuCTS\Laravel\AMQP\Facades\AMQP;
use PhpAmqpLib\Exchange\AMQPExchangeType;

// send message
AMQP::connection('default')
->setExchange('test')
->setExchangeType(AMQPExchangeType::TOPIC)
->setQueue('test')
->publish('test');
  • AMQPMessage 消费者
use MuCTS\Laravel\AMQP\Commands\AMQPCommand;
use PhpAmqpLib\Message\AMQPMessage;
use Illuminate\Support\Facades\Log;
use PhpAmqpLib\Exchange\AMQPExchangeType;

class test extends AMQPCommand{
    protected string $exchange = 'test';
    protected string $queue = 'test';
    protected string $exchangeType = AMQPExchangeType::TOPIC;
    protected string $consumerTag = 'consumer';
    protected ?string $connectionName = 'default';
    protected bool $autoAsk = false;

    protected function processMessage(AMQPMessage $message){
        Log::info($message->getBody());
        // message ask
        $message->ack();
        // message nack
        $message->nack(true);
    }
}

配置

如果 config/amqp.php 文件不存在,请运行以下命令

php artisan vendor:publish