<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## 用composer安裝queue插件線 ``` ~~~ "require": { "php": ">=7.1.0", "topthink/framework": "dev-master", "topthink/think-captcha": "^1.0", "topthink/think-installer": "^1.0.14", "topthink/think-queue": "1.1.6", "topthink/think-helper": "^1.0.7", "karsonzhang/fastadmin-addons": "~1.2.4", "overtrue/pinyin": "^3.0", "phpoffice/phpspreadsheet": "1.12", "overtrue/wechat": "4.2.11", "nelexa/zip": "^3.3", "ext-json": "*", "ext-curl": "*", "ext-pdo": "*", "ext-bcmath": "*", "txthinking/mailer": "^2.0", "jaeger/querylist": "^4.2" }, ~~~ ``` ## 配置 ![](https://img.kancloud.cn/b2/e0/b2e06c649b443ad41b499a5b0264c49b_608x451.png) ``` ~~~ <?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK IT ] // +---------------------------------------------------------------------- // | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Author: yunwuxin <448901948@qq.com> // +---------------------------------------------------------------------- return [ // 'connector' => 'Sync' 'connector' => 'Redis', // Redis 驅動 'expire' => 60, // 任務的過期時間,默認為60秒; 若要禁用,則設置為 null 'default' => 'default', // 默認的隊列名稱 'host' => '127.0.0.1', // redis 主機ip 'port' => 6379, // redis 端口 'password' => '', // redis 密碼 'select' => 1, // 使用哪一個 db,默認為 db0 'timeout' => 0, // redis連接的超時時間 'persistent' => false, // 是否是長連接 ]; ~~~ ``` ## 新建隊列處理函數 ![](https://img.kancloud.cn/7a/03/7a0306a4889ee5bbbf81eaabc5f3763f_374x329.png) ``` ~~~ <?php namespace app\message\controller; use QL\QueryList; use think\Exception; use think\Queue; use think\Queue\Job; use think\Db; class DoJob { /** * fire方法是消息隊列默認調用的方法 * @param Job $job 當前的任務對象 * @param $data 發布任務時自定義的數據 * @return int */ public function fire(Job $job, $data) { //這里$data定義格式為:$data = [ 'type'=>1, 'data_id' => 123,'ts' => time()] if (empty($data)) { return 0; } // 有些消息在到達消費者時,可能已經不再需要執行了 // $isJobStillNeedToBeDone = $this->checkDatabaseToSeeIfJobNeedToBeDone($data); // if(!$isJobStillNeedToBeDone){ // $job->delete(); // return 0; // } if (is_array($data) && isset($data['type'])) { $type = $data['type']; if ($type == 1) { $isJobDone = $this->qudemo2($data['url'],$data['rules']); //執行發送郵件業務 //$isJobDone = $this->sendEmail($data['data_id']); } else if ($type == 2) { //執行APP推送消息業務 $isJobDone = $this->sendAppMessage($data['data_id']); } else if ($type == 3) { //執行訂單業務 $isJobDone = $this->orderService($data['data_id']); } else { return 0; } } else { return 0; } if ($isJobDone) { // 如果任務執行成功,刪除任務 $job->delete(); } else { if ($job->attempts() > 3) { //通過這個方法可以檢查這個任務已經重試了幾次了 $job->delete(); // 也可以重新發布這個任務 //$job->release(2); //$delay為延遲時間,表示該任務延遲2秒后再執行 } } } } ~~~ ``` ## 需要隊列的地方直接用 ![](https://img.kancloud.cn/c3/f7/c3f71269a55081abcc28882651a38ff6_977x215.png) ![](https://img.kancloud.cn/44/22/4422a21513d7f7f4ae57f984fc6c1bd0_906x269.png) ### 注意注意注意 , 一定注意類名的選擇,沒有時可以用空 開啟php think queue:work --daemon --queue Test 要用隊列名 開啟 php think queue:listen 不要隊列名一定不用隊列名
                  <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>

                              哎呀哎呀视频在线观看