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

Laravel8 使用 RabbitMQ

Laravel8 使用 RabbitMQ

使用 RabbitMQ 前需要:

下载安装 Erlang :Windows 下安装 Erlang_Dragon-v的博客-CSDN博客 

安装 PHP amqp 扩展:PHP 安装 amqp 扩展(Windows)_Dragon-v的博客-CSDN博客

开启 PHP sockets:PHP 开启 sockets_Dragon-v的博客-CSDN博客 

1、在 RabbitMQ 的界面创建队列和路由:

        RabbitMQ 创建 virtual host_Dragon-v的博客-CSDN博客

2、Composer 安装 laravel-queue-rabbitmq,下图是laravel和rabbitmq版本对应

composer require vladimir-yuldashev/laravel-queue-rabbitmq

3、在 config/queue.php 配置文件中的 connections 数组中加入以下配置

'rabbitmq' => [

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

            'hosts' => [
                [
                    'host' => env('RABBITMQ_HOST', '127.0.0.1'),
                    'port' => env('RABBITMQ_PORT', 5672),
                    'user' => env('RABBITMQ_USER', 'guest'),
                    'password' => env('RABBITMQ_PASSWORD', 'guest'),
                    '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),
                ],
                'queue' => [
                    'job' => VladimirYuldashevLaravelQueueRabbitMQQueueJobsRabbitMQJob::class,

                    


                    
                ],
            ],

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

        ],

4、修改 .env 文件

RABBITMQ_HOST=127.0.0.1
RABBITMQ_PORT=5672
#通过15672创建的rabbitmq虚拟主机,默认是'/'
RABBITMQ_VHOST=test-host
RABBITMQ_USER=guest
RABBITMQ_PASSWORD=guest
#通过15672创建的rabbitmq队列
RABBITMQ_QUEUE=laravel_swoole

5、创建任务类

php artisan make:job Queue

        代码如下

data = $data;
    }

    
    public function handle()
    {
        print_r($this->data);
    }
}

 6、建一个控制器,代码如下,写个路由调用这个方法进行生产数据放入队列中

onConnection('rabbitmq')
                ->onQueue('host-queue1');
            
        }
        return response()->json(['code'=>0, 'msg'=>"success"]);
    }

}

7、消费队列,使用命令进行消费

php artisan queue:work rabbitmq --queue=host-queue1

效果如下:

如果队列中放的是数组那么效果如下

 

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

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

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