<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## **章節2:Laravel5.5事件監聽機制(注冊-監聽-任務調度)【啟用任務隊列篇】** ##### <blockquote class="danger"><p>Laravel 事件機制實現了一個簡單的觀察者模式,讓我們可以訂閱和監聽應用中出現的各種事件。事件類 (Event) 類通常保存在`app/Events`目錄下,而它們的監聽類 (Listener) 類被保存在`app/Listeners`目錄下。如果你在應用中看不到這些文件夾也不要擔心,因為當你使用 Artisan 命令來生成事件和監聽器時他們會被自動創建</p></blockquote> * [ ] 準備前工作 1. 安裝 predis/predis 擴展,命令:`composer require predis/predis:"^1.1"` 2. 配置.env.production(.env)文件,如圖所示: ![](https://img.kancloud.cn/55/0b/550ba935c6dc47166a319f106f71c997_324x132.png) ``` BROADCAST_DRIVER=log CACHE_DRIVER=redis SESSION_DRIVER=redis SESSION_LIFETIME=120 QUEUE_DRIVER=redis ``` 3.在根目錄下執行兩個命令,生成遷移文件和隊列執行失敗的mysql 數據記錄表: ``` php artisan queue:failed-table ``` ``` php artisan migrate ``` <span style='color:red;font-weight:bolder'>注意: <span style='margin-left:10px;'>1. 修改玩.env配置文件后,一定在容器內網站根目錄執行清除和生成緩存命令:php artisan route:cache</span> <span style='margin-left:10px;'>2. 如果想使用守護進程(常駐進程),點擊鏈接Supervisor:</span>(https://learnku.com/docs/laravel/5.5/queues/1324#supervisor-configuration)</span> * [ ] 創建事件監聽器(包含事件和監聽器) 1. 執行命令:php artisan event:generate,如果是第一次執行,會生成 Events(事件目錄) 和 Listeners(監聽器目錄) ![](https://img.kancloud.cn/2a/18/2a1863ba527e2d54d28c9028ed938145_782x70.png) 2. 在 app/Providers/EventServiceProvider.php 文件中編寫要執行的事件和事件對應的監聽器,如圖所示 ![](https://img.kancloud.cn/9e/da/9eda092fc373e6688d26c78c006cc191_1704x943.png) 3. 按照上述操作,編寫 Tests2MongoEvent 事件 和 Tests2MongoListener 事件監聽器,如圖所示 Tests2MongoEvent.php ![](https://img.kancloud.cn/3f/ee/3fee6d29e5213e32f4402a2195923471_1700x967.png) ![](https://img.kancloud.cn/b2/ec/b2ec45f53fb2906e717cf4b782878174_1709x979.png) ![](https://img.kancloud.cn/9e/00/9e00b44e72226232dc0ce8e9bea048a0_1545x958.png) Tests2MongoListener.php ![](https://img.kancloud.cn/5e/a3/5ea31dcea853b9bce171503e7e0a7c3a_1436x977.png) ![](https://img.kancloud.cn/7f/23/7f2321ac33d2c4e2583c77e586e2ef4a_1284x940.png) Tests2MongoModel.php ![](https://img.kancloud.cn/ef/6d/ef6d41cd51fc3275bf15b408bb8f97f0_1352x943.png) ![](https://img.kancloud.cn/59/f5/59f5fce6e487b4414485e2164c1aca83_1101x800.png) Name.php ![](https://img.kancloud.cn/d3/64/d36485b48c1093cf94cb1a877ed34098_1093x665.png) 4. 開始使用事件,使用操作如下 ![](https://img.kancloud.cn/af/ab/afabf2481a0c8733bb751c21e78d8a41_1415x747.png) ![](https://img.kancloud.cn/99/36/993698eb1ce47116d85cfe27526f3d9e_1443x802.png) 5. 顯示結果如下 ![](https://img.kancloud.cn/4b/8c/4b8c27a5d338eb39648a39093c34b32d_1495x455.png) ![](https://img.kancloud.cn/6f/78/6f7822e15e327ecfd91d7115da2ff3b8_1879x535.png) 6. 執行任務隊列,命令:【php artisan queue:listen --queue=ceshi:save:mongo】 第一種方式:php artisan queue:listen --queue=ceshi:save:mongo 第二種方式: php artisan queue:work --queue=ceshi:save:mongo ![](https://img.kancloud.cn/ff/43/ff43c5195ec88206829cf3eb620d0499_1001x243.png) ![](https://img.kancloud.cn/c9/77/c977791b0e69c6882c20fb7fbcf02386_888x443.png) ![](https://img.kancloud.cn/7b/1b/7b1ba883c72ae1d8ddab6af103c62bdf_1776x912.png) 注意:命令:`php artisan queue:work`,只執行默認的消息隊列,如果需要配置,配置如下: .env.production 配置如下: ![](https://img.kancloud.cn/dc/73/dc7318120fa6cb654a2b5c0a16811386_922x569.png) /config/queue.php 配置如下: ![](https://img.kancloud.cn/70/b8/70b81ae874de0a572bf1fd38feb643e3_1389x610.png) 進入容器內,先執行更新緩存命令:php artisan config:cache ,再執行:php artisan queue:work ![](https://img.kancloud.cn/7c/54/7c5434a0bde9438c5f9312841712554e_757x393.png) ![](https://img.kancloud.cn/c9/18/c918a7103bd5875643ee08b7d0319e30_1707x727.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看