ThinkPHP5 0 Queue訊息佇列

2021-08-26 14:59:41 字數 1702 閱讀 5902

thinkphp官方團隊開發的乙個專門支援佇列服務的擴充套件包,使用composer管理,使用起來非常方便

1. queue內建了 redis,database,topthink ,sync這四種驅動,本文使用redis驅動

3. queue訊息訊息可進行發布,獲取,執行,刪除,重發,失敗處理,延遲執行,超時控制等操作

1. 一旦需處理資料加入到任務內就不能刪除

安裝與配置:

1. 是用composer進行安裝,命令:composer require topthink/think-queue

3. 本文使用型別是redis,假如你的當前環境沒有redis,則自行安裝

4. 配置檔案如下

注意:

4.1 select是當前redis庫,redis預設16個資料庫

5. 預設配置引數與源**存放到thinkphp vendoer資料夾下

建立任務

//建立任務: 專案命名空間\模組\資料夾\控制器@方法

//$job = 任務名稱

//$last_info = 插入引數

//null 指定任務名稱,沒有則使用預設

\think\queue::push($job,$last_info, null);

處理任務****有刪減過,只需知道如何使用訊息佇列即可

public

function

smspush

(job $job,$msm_info)

//任務執行超過1次,則刪除任務

if ($job->attempts() > 0)

//獲取使用者列表

$user_model = new userss();

$user_list = $user_model->select();

//沒有使用者列表,刪除任務

if(empty($user_list))

$user_msm_model = new userssmsm();

$user_rec_msm_model = new userrecipimsm();

//修改msm資料後,發簡訊並寫入資料表記錄

if(!empty($res))

}//執行完任務後必須刪除任務

$job->delete();

}//$job->delete(); 刪除任務

//$job->attempts(); 檢視任務執行次數

// 注意:執行完任務後必須刪除任務

php think queue:listen

php think queue:work –daemon(不加–daemon為執行單個任務)

兩種,具體的可選引數可以輸入命令加 –help 檢視

可配合supervisor使用,保證程序常駐

ThinkPHP5 0 接觸學習

mvc不是設計模式,而是設計典範。composer 是 php5.3以上 的乙個依賴管理工具。它允許你宣告專案所依賴的 庫,它會在你的專案中為你安裝他們。開發環境介紹 php版本 5.4.0 pdo mbstring curl php extension 安裝好這個擴充套件,thinkphp5能正常...

thinkphp5 0目錄結構

5.0的部署建議是public目錄作為web目錄訪問內容,其它都是web目錄之外,當然,你必須要修改public index.php中的相關路徑。如果沒法做到這點,請記得設定目錄的訪問許可權或者新增目錄列表的保護檔案。router.php用於php自帶webserver支援,可用於快速測試 啟動命令...

ThinkPHP5 0開發規範

thinkphp5 遵循 psr 2 命名規範和 psr 4 自動載入規範,並且注意如下規範 目錄和檔案 目錄使用小寫 下劃線 類庫 函式檔案統一以 php 為字尾 類的檔名均以命名空間定義,並且命名空間的路徑和類庫檔案所在路徑一致 類檔案採用駝峰法命名 首字母大寫 其它檔案採用小寫 下劃線命名 類...