zoukankan      html  css  js  c++  java
  • laravel中的队列

    Laravel 队列为不同的后台队列服务提供统一的 API,可使用多种驱动,eg:mysql,redis,Beanstalkd等,驱动已经封装,不需要管理这些驱动,只需要修改配置就可以更改驱动,在驱动之上的所有逻辑,包括分发任务和队列的执行操作都是统一的,这就是laravel的优势。

    修改驱动为database

      位置:.env

    QUEUE_DRIVER=database

    创建database的queue表

    php artisan queue:table
    php artisan migrate

    创建任务SendMessage

    php artisan make:job SendMessage

    创建发送逻辑dispatch

      位置:app/Jobs/SendMessage.php

      private $notice;
        /**
         * Create a new job instance.
         *
         * @return void
         */
        public function __construct(AppNotice $notice)
        {
            $this->notice = $notice;
        }
    
        /**
         * Execute the job.
         *
         * @return void
         */
        public function handle()
        {
            $users = AppUser::all();
            foreach ($users as $user){
                $user->addNotice($this->notice);
            }
        }

    启动队列

    php artisan queue:work
    或 nohup php artisan queue
    :work >> /tmp/test &
  • 相关阅读:
    oracle的优化-----学习笔记
    面试题-------笔记
    HTTP-1.初相识:了解HTTP协议
    Python-Basis-6th
    Python-Basis-5th
    Python-Basis-4th
    Python-Basis-3rd
    Python-Basis-2nd
    Python-Basis-1st
    scala面向对象编程
  • 原文地址:https://www.cnblogs.com/wanghaokun/p/10177792.html
Copyright © 2011-2022 走看看