最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 用laravel框架安装rabbitMQ

    正文概述 转载于:掘金(程序员安安)   2021-01-13   365
    1 laravel添加rabbitMQ
    2 composer require vladimir-yuldashev/laravel-queue-rabbitmq
    3composer update
    

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

    VladimirYuldashev\LaravelQueueRabbitMQ\LaravelQueueRabbitMQServiceProvider::class,
    

    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),
        ],
     
    ],
    

    .env中添加

    QUEUE_CONNECTION=rabbitmq  #修改一下
    
    RABBITMQ_HOST=112.74.182.5  #要连接的主机名
    RABBITMQ_PORT=5672         #端口号
    RABBITMQ_VHOST=/
    RABBITMQ_LOGIN=admin       #mq登录名
    RABBITMQ_PASSWORD=admin     #mq登录密码
    RABBITMQ_QUEUE=test11111         #mq连接的名称(随便写)
    

    测试rabbitmq在laravel中的使用 创建一个任务类

    php artisan make:job Queue
    

    修改QueuedTest.php的内容,下面主要的功能是添加一个时间并且转化成json

    <?php
    
    namespace App\Jobs;
    
    
    use Illuminate\Bus\Queueable;
    use Illuminate\Foundation\Bus\Dispatchable;
    use Illuminate\Queue\SerializesModels;
    use Illuminate\Queue\InteractsWithQueue;
    use Illuminate\Contracts\Queue\ShouldQueue;
    
    class Queue  implements ShouldQueue
    {
        use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
    
        private $data;
    
        /**
         * Queue constructor.
         * @param $data
         */
        public function __construct($data)
        {
            $this->data = $data;
    
        }
    
        /**
         * Execute the job.
         *
         * @return void
         */
        public function handle()
        {
            return json_encode($this->data);
    
        }
    }
    

    使用命令创建一个控制器

    php artisan make:controller QueuedController
    

    在控制器中加入如下代码

    <?php
    
    namespace App\Http\Controllers;
    
    
    use Illuminate\Http\Request;
    
    use App\Http\Requests;
    use App\Jobs\Queue;
    
    class QueuedController extends Controller
    {
        public function Test(){
    
            $arr=array(
                'time'=>time()
            );
    
            $this->dispatch(new Queue($arr));
    
            echo "成功";
    } }
    

    web.php 中加入一个路由,用来调用控制器中的test方法

    Route::get('/test','QueuedController@test');
    

    开始测试:http://www.aa.com/index.php/test

    用laravel框架安装rabbitMQ 并且输入命令 php artisan queue:work 可以看到 用laravel框架安装rabbitMQ 打开rabbitMQ中可以看到 用laravel框架安装rabbitMQ 以上内容希望帮助到大家, 很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家 ,需要戳这里 PHP进阶架构师>>>实战视频、大厂面试文档免费获取


    起源地下载网 » 用laravel框架安装rabbitMQ

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元