日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

tp5.0 queue 队列操作

發(fā)布時間:2023/11/27 生活经验 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tp5.0 queue 队列操作 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

檢查是否安裝redis(沒有請自行百度安裝):

phpinfo:

配置thinkphp-queue,沒有請執(zhí)行 composer require topthink/think-queue 加入:

創(chuàng)建 隊列 文件:

use think\Queue;class TestQueue
{// 測試public function queue(){// 推遲 n 秒執(zhí)行  $queue = '指定隊列名'Queue::later('2', 'app\message\job\Work','aa@qq.com','');// 執(zhí)行 Work 的 send 方法//Queue::push('app\message\job\Work@send','aa@qq.com');// 默認執(zhí)行 Work 的 fire 方法//Queue::push('app\message\job\Work','aa@qq.com');
echo '加入隊列成功';}
}

隊列 邏輯處理 文件:

namespace app\message\job;use think\queue\Job;class Work
{// 默認執(zhí)行的方法public function fire(Job $job, $data){$isJobDone = $this->send($data);if ($isJobDone) {//成功刪除任務(wù)$job->delete();} else {//任務(wù)輪詢4次后刪除if ($job->attempts() > 3) {// 第1種處理方式:重新發(fā)布任務(wù),該任務(wù)延遲10秒后再執(zhí)行//$job->release(10);// 第2種處理方式:原任務(wù)的基礎(chǔ)上1分鐘執(zhí)行一次并增加嘗試次數(shù)//$job->failed();// 第3種處理方式:刪除任務(wù)$job->delete();}}}/*** 根據(jù)消息中的數(shù)據(jù)進行實際的業(yè)務(wù)處理* @param array|mixed    $data     發(fā)布任務(wù)時自定義的數(shù)據(jù)* @return boolean                 任務(wù)執(zhí)行的結(jié)果*/private function send($data){// 開始執(zhí)行隊列的邏輯echo 'int ....';echo PHP_EOL;echo 'data: ' .$data;echo PHP_EOL;// ...return true;}
}

?

后臺監(jiān)聽即可:

php think queue:listen  

php think queue:listen --queue 'queuename'   // 監(jiān)聽指定隊列

?

訪問 127.0.0.1/message/testqueue? (路由自行配置)

控制臺查看

?

參考文檔:https://github.com/coolseven/notes/blob/master/thinkphp-queue/README.md

守護進程(supervisor):https://blog.csdn.net/qq_34856247/article/details/86741533

轉(zhuǎn)載于:https://www.cnblogs.com/xdtx/p/9540904.html

總結(jié)

以上是生活随笔為你收集整理的tp5.0 queue 队列操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。