laravel 下使用 rabbitmq

时间:2020-05-29
本文章向大家介绍laravel 下使用 rabbitmq,主要包括laravel 下使用 rabbitmq使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1,添加rabbitMQ

composer require vladimir-yuldashev/laravel-queue-rabbitmq

composer update

2,在config/app.php文件中,providers数组中添加

VladimirYuldashev\LaravelQueueRabbitMQ\LaravelQueueRabbitMQServiceProvider::class,

3,在app/config/queue.php文件中,connections数组中添加

'rabbitmq' => [
    'driver'                => 'rabbitmq',
 
    'host'                  => env('RABBITMQ_HOST', '127.0.0.1'),
    'port'                  => env('RABBITMQ_PORT', 5672),
 
    'vhost'                 => env('RABBITMQ_VHOST', '/'),
    'login'                 => env('RABBITMQ_LOGIN', 'guest'),
    'password'              => env('RABBITMQ_PASSWORD', 'guest'),
 
    'queue'                 => env('RABBITMQ_QUEUE'), // name of the default queue,
 
    'exchange_declare'      => env('RABBITMQ_EXCHANGE_DECLARE', true), // create the exchange if not exists
    'queue_declare_bind'    => env('RABBITMQ_QUEUE_DECLARE_BIND', true), // create the queue if not exists and bind to the exchange
 
    'queue_params'          => [
        'passive'           => env('RABBITMQ_QUEUE_PASSIVE', false),
        'durable'           => env('RABBITMQ_QUEUE_DURABLE', true),
        'exclusive'         => env('RABBITMQ_QUEUE_EXCLUSIVE', false),
        'auto_delete'       => env('RABBITMQ_QUEUE_AUTODELETE', false),
    ],
 
    'exchange_params' => [
        'name'        => env('RABBITMQ_EXCHANGE_NAME', null),
        'type'        => env('RABBITMQ_EXCHANGE_TYPE', 'direct'), // more info at http://www.rabbitmq.com/tutorials/amqp-concepts.html
        'passive'     => env('RABBITMQ_EXCHANGE_PASSIVE', false),
        'durable'     => env('RABBITMQ_EXCHANGE_DURABLE', true), // the exchange will survive server restarts
        'auto_delete' => env('RABBITMQ_EXCHANGE_AUTODELETE', false),
    ],
 
],
3,在.env中添加
QUEUE_CONNECTION=rabbitmq #修改一下
RABBITMQ_HOST = 127.0.0.1 #要连接得主机名
RABBITMQ_PORT = 5672 #端口
RABBITMQ_VHOST = /
RABBITMQ_LOGIN = admin #mq登录名
RABBITMQ_PASSWORD = admin #mq登陆密码
RABBITMQ_QUEUE = test #mq连接得测试名

如果在laradock中,所以RABBITMQ_HOST 设置为rabbitmq;如果之前使用了Laravel Horizon,那么RABBITMQ_WORKER得设置为horizon就可以了

原文地址:https://www.cnblogs.com/shangfz/p/12988446.html