<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之旅 廣告
                # 隊列開啟教程 1. 隊列優勢 任務執行流暢,無需等待。如團長批量發送提貨通知(比如500條,正常操作發送完需要等待2分鐘)。如開啟了隊列后,團長點擊一下發送,后臺隊列服務就開始一條條發送,無需團長在操作頁面等待發送完成。 可減輕秒殺環節高并發對服務器的壓力。 可執行一些定時的任務。 2. 隊列功能 ①團員收貨消息群發 ②自動關閉訂單 ③自動收貨 ④自動上下架 ⑤秒殺分流 ⑥拼團自動退款和關閉訂單 等后續增加的新功能。 3. 基礎條件 1. swoole擴展正常安裝 社區團購plus系統打開正常,并且未提示swoole\_loader未安裝 2. 寶塔環境需要刪除幾個禁用函數、非寶塔的可以在php.ini中刪除“disable\_functions”中對應的函數 如果您為寶塔環境,請在“軟件管理”-->“PHP -7.2”設置頁—禁用函數中,刪除如下圖的5個函數,否則無法開啟隊列。 ![](https://qqadapt.qpic.cn/txdocpic/0/924dd4116667b335c0a543300a4a5f7e/0) ![](https://qqadapt.qpic.cn/txdocpic/0/3ea79ef62ed6df3ff7b8edaf60ffe776/0?w=499&h=271) 切記,每次在寶塔更新PHP的時候、或者更新寶塔版本的時候,會自動增加禁用函數,需要再次排查刪除,否則隊列將無法正常運行! 4. 隊列開啟及開機自動運行方法 命令解析(根據色塊,分割成4句話) nohup /www/server/php/72/bin/php /www/wwwroot/xxxxx/yii queue/listen \>> /www/wwwroot/xxxxx/log/sqtg-log.log 2>&1 & 如果您是寶塔,請按照上面的代碼執行 如果非寶塔,請把藍色內容,改成你服務器實際php7.2文件所在的路徑 * * * nohup 和 本行最后一個 & 是指后臺運行, \>/www/xxxx.log 2>&1 是指把錯誤輸出到某個log文件中 * * * php 是指在linux啟動php。提示,在“amh”環境下,直接運行php 可能提示報錯,參考最下面“php明了無法執行或版本不一致怎么辦”,查看操作步驟 * * * /www/wwwroot/xxxxx/yii 是系統根目錄中的yii文件 xxxxx 需要改成你的站點根目錄 微擎版本的yii文件路徑為 /www/wwwroot/xxxxx/addons/worldidc\_sqtg/power/yii * * * queue/listen 是我們的隊列監聽命令 * * * nohup php /www/wwwroot/xxxxx/yii queue/listen \>> /www/wwwroot/xxxxx/log/sqtg-log.log 2>&1 & 所以根據上面的代碼,執行代碼轉化為漢語為“在后臺 用php 執行某個目錄下的yii文件 然后啟用隊列監聽服務 輸出錯誤到某個log文件 ” 這就是我們隊列開啟的核心語句。 如圖,執行完之后,會提示一條數字 ![](https://qqadapt.qpic.cn/txdocpic/0/d3f390924d8ef188a89bbe97774b58f0/0) 我們需要確認,隊列是否在后臺正常運行,輸入進程查詢命令 ps -aux|grep yii ![](https://qqadapt.qpic.cn/txdocpic/0/395c510c9c2dee1090d611c8cdf6aa0e/0) ![](https://qqadapt.qpic.cn/txdocpic/0/28c8056c52a88d6e8506cbcc5f4f9528/0) 如果查詢結果如上圖,則隊列沒有正在在后臺運行,請最下方“隊列開啟命令執行后無后臺進程”查看調試方法。 * * * ![](https://qqadapt.qpic.cn/txdocpic/0/0692d8ba7d798798a60a59cb049c9002/0) ↑↑↑ 如果查詢結果如上圖,可看到此次查詢到了 yii文件在后臺運行的 queue/listen 命令,證明您的隊列已經正常開啟! 僅此還不行,我們需要把隊列設置為開機自動啟動。 先執行此命令,開啟自動啟動功能 chmod +x /etc/rc.d/rc.local ![](https://qqadapt.qpic.cn/txdocpic/0/baa6c87fba1689db3eade8d86a62feb4/0) 然后編輯啟動腳本 vi /etc/rc.local ,把隊列開啟命令放入啟動腳本 ![](https://qqadapt.qpic.cn/txdocpic/0/b1a21ed01b74cbe317c50962574d31fd/0) ![](https://qqadapt.qpic.cn/txdocpic/0/cae1f08e430fb46313542a1ba2ae8149/0) 然后重啟服務器,使用 ps -aux|grep yii 查詢隊列是否開啟,如正常開啟,則證明開啟啟動已生效。 5. 常見問題及解決方法 1. php命令無法執行或版本不一致怎么辦? 在某些集成環境下,php命令沒有設置,無法自動運行,如下圖。 ![](https://qqadapt.qpic.cn/txdocpic/0/a08f27a0aef777db563f5ce3791e532a/0) 此圖 執行 php -v 下面提示 command not found 證明php命令無法執行,我們可以查找php的真實路徑,直接運行真實路徑的php 通過 find - name php 查詢出php執行文件所在的路徑(bin文件夾中的php) ![](https://qqadapt.qpic.cn/txdocpic/0/29244835c2be102103df2a6742d40a95/0) 下面執行隊列的時候,可以用全路徑的php來執行,如下圖,原來的php用 真正的路徑代替 ![](https://qqadapt.qpic.cn/txdocpic/0/3640f75e75b7a68a50a175643bb1b199/0) 如果您的社區團購系統安裝的是php5.6版本,但是輸入 php -v,提示的默認執行是7.2的版本,或者安裝的7.2版本,php -v提示5.6版本 這種情況我們就需要參考上面的方法,查到php7.2或者5.6的真實路徑,通過絕對路徑地址代替php命令。 2. 隊列開啟命令執行后,無后臺進程怎么辦? ![](https://qqadapt.qpic.cn/txdocpic/0/d3f390924d8ef188a89bbe97774b58f0/0) 很多人執行完上面的命令后,出來一個數字,但是查詢進程沒有發現隊列進程 這就證明隊列沒有正常開啟。 造成這個情況的原因有幾個,首先是參考基礎條件中寶塔環境需要刪除幾個禁用函數 ,進行操作。 如果還是不能正常開啟,可以輸入下面的命令 php /www/wwwroot/xxxxxx/yii ,直接運行yii文件,看看有什么報錯。 ![](https://qqadapt.qpic.cn/txdocpic/0/b84e1222f8e54d1dd3456e71590b433f/0) 如上圖,提示exec()函數被禁用的原因,如果您無法確認具體是什么原因,請截圖發我們排查。 解除后,如果執行該命令,能返回下圖的 黃色和綠色文字,則證明隊列環境已經正常,可繼續開啟隊列。 ![](https://qqadapt.qpic.cn/txdocpic/0/8a10e251cb009ccd352d2505e45efdd3/0) 三、amh環境,php -cli 模式,提示沒有加載swoole\_loader怎么辦? 把php.ini配置文件,復制到etc目錄中一份 ![](https://qqadapt.qpic.cn/txdocpic/0/7b8a5f519b8b5cebb80947847924f386/0) ![](https://qqadapt.qpic.cn/txdocpic/0/1b8bb8a8ea2127775ece6b30e184959e/0)
                  <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>

                              哎呀哎呀视频在线观看