執行命令 佇列命令
守護程序形式監聽 php think queue:work --daemon --queue helloqueue
執行單個佇列 php think queue:work --queue helloqueue
守護程序監聽 php think queue:listen --queue helloqueue
hellojobqueue為加入佇列的名稱
先使用composer 安裝 tp的佇列 think-queue
composer require topthink/think-queue
安裝注意事項 根據你當前的框架版本選擇合適的版本 tp5.1 一般安裝 2.0.4版本
安裝完成以後 執行 php think 檢視是否有命令 queue 出現 如就證明安裝成功
內容如下
return [
// 'connector' => 'sync'
'connector' => 'redis', // redis 驅動
'expire' => env('redis_expire',60), // 任務的過期時間,預設為60秒; 若要禁用,則設定為 null
'default' => 'template', // 預設的佇列名稱
'host' => env('redis_host','127.0.0.1'), // redis 主機ip
'port' => env('redis_port',6379), // redis 埠
'password' => env('redis_password',''), // redis 密碼
'select' => 0, // 使用哪乙個 db,預設為 db0
'timeout' => env('redis_timeout',0), // redis連線的超時時間
'persistent' => env('redis_persistent',false), // 是否是長連線
];如果使用redis配置 需要把驅動更改為redis驅動即可
在控制器中建立乙個方法,作用是把產生新的訊息推送到helloqueue
佇列
use think\queue;
class test extends controller
}}每乙個佇列有對應的消費者去處理消費,訊息產生了以後,就會把推送的資料傳送到消費者裡面進行消費處理。
對應你可以在消費者裡面處理業務邏輯**
<?php
use think\exception;
use think\queue\job;
class check
else }}
/*** 任務達到最大重試次數後,失敗記錄資訊
* @param array $data 資料
*/public function failed($data)
/*** 根據訊息中的資料進行實際的業務處理
* @param array|mixed $data 發布任務時自定義的資料--返回陣列
* @return boolean 任務執行的結果
*/public function dojob($data)
else
}}
php think queue:work --queue helloqueue
以上就是完成了簡單的tp自帶的訊息佇列使用情況。 tp的命名空間
當開發大型專案的時候,可能需要成千上萬的檔案,物件導向通過命名空間解決這個問題的。php命名空間是php5.3以後出現的。命名空間中可以出現 類,函式,常 只有const定義的常量命名空間才有效。命名空間的名字必須符合php命名的規則。namespace china const nation 中國 ...
tp3 2和tp5 0的區別
1 控制器輸出 5 return this fetch 3.2 this display 3.2 5 g debug 記錄時間和記憶體使用情況 e exception 丟擲異常處理 c config 獲取和設定配置引數 i input 獲取輸入資料 w widget d 例項化model s 快取化...
tp3與tp5的區別
不論是學習使用tp3 tp5還是面試,我們經常都會提到 thinkphp3 和thinkphp5 的一些區別有哪些,下面我對這兩者的一些區別做了一些總結 表面的區別,並不涉及核心 在tp3中,我們輸出檢視是 this display 但是在 tp5中,輸出檢視函式是 this fetch 在tp3中...