栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Laravel 使用 RabbitMQ 案例

Laravel 使用 RabbitMQ 案例

1. 首先安装 PHP 扩展 amqp 2.Docker 安装 RabbitMq 将以下内容追加到 docker-compose.yml
  rabbitmq:
        container_name: xb_rabbitmq # 容器名称
        image: rabbitmq:management  # 镜像
        networks:
          - wb_net
        ports:
          - 15673:15672
          - 5673:5672
        volumes:
          - './storage/rabbitmq:/var/lib/rabbitmq' # 映射目录
3.重新构建镜像
docker-compose up -d
4.RabbitMq 后台地址 账号密码:guest

以上完成 RabbitMq 前提工作

5.安装
composer require vladimir-yuldashev/laravel-queue-rabbitmq
6.config/queue.php文件在connections中追加
        'rabbitmq' => [

            'driver' => 'rabbitmq',
            'queue' => env('RABBITMQ_QUEUE', 'default'),
            'connection' => PhpAmqpLibConnectionAMQPLazyConnection::class,

            'hosts' => [
                [
                    'host' => env('RABBITMQ_HOST', '192.168.159.166'),
                    'port' => env('RABBITMQ_PORT', 15672),
                    'user' => env('RABBITMQ_USER', 'admin'),
                    'password' => env('RABBITMQ_PASSWORD', 'admin'),
                    'vhost' => env('RABBITMQ_VHOST', '/'),
                ],
            ],

            'options' => [
                'ssl_options' => [
                    'cafile' => env('RABBITMQ_SSL_CAFILE', null),
                    'local_cert' => env('RABBITMQ_SSL_LOCALCERT', null),
                    'local_key' => env('RABBITMQ_SSL_LOCALKEY', null),
                    'verify_peer' => env('RABBITMQ_SSL_VERIFY_PEER', true),
                    'passphrase' => env('RABBITMQ_SSL_PASSPHRASE', null),
                ],
            ],

            
            'worker' => env('RABBITMQ_WORKER', 'default'),

        ],

7. env 追加配置 后 执行 php artisan config:cache
QUEUE_ConNECTION=rabbitmq # 更改


RABBITMQ_HOST=xb_rabbitmq # 容器名称
RABBITMQ_PORT=5672
#通过15672创建的rabbitmq虚拟主机,默认是'/'
RABBITMQ_VHOST=/
RABBITMQ_USER=guest
RABBITMQ_PASSWORD=guest
#通过15672创建的rabbitmq队列
RABBITMQ_QUEUE=rebbitmq
8.创建 job:php artisan make:job Queue
 
9.监听队列 
php artisan queue:work
10.创建控制器:php artisan make:controller QueueController
 
11.写入路由并访问此Api 
Route::get('mq', [AppHttpControllersQueueController::class,'mq']);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/460258.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号