thinkphp6.0 消息队列
think-queue的使用方法
使用thinkphp6
composer require topthink/think-queue
定义任务
app/job/RegEmailJob.php
<?php namespace app\job; use think\facade\Log; use think\queue\Job; class RegEmailJob { public function fire(Job $job, $data){ //....这里执行具体的任务 // 日志 //Log::info("我被执行了"); $body = '请于24小时点击该链接完成验证. ' . env('app.host') . '/validate/email' . '?user_id=' . $data['user_id'] . '&code=' . $data['uuid']; //发送邮件 sendmail($data['email'], '执笔书写成功博客验证', $body); if ($job->attempts() > 3) { //通过这个方法可以检查这个任务已经重试了几次了 } //如果任务执行成功后 记得删除任务,不然这个任务会重复执行,直到达到最大重试次数后失败后,执行failed方法 $job->delete(); // 也可以重新发布这个任务 //$job->release(0); //$delay为延迟时间 } public function failed($data){ // ...任务达到最大重试次数后,失败了 } }
消费
在控制器中调用
Queue::push('app\job\regEmailJob', ['user_id'=>$res['id'],'uuid'=>$uuid,'email'=>$res['email']]);
启动
php think queue:listen
php think queue:work
php think queue:work与php think queue:listen区别
参考地址:
https://www.iecz.com/note/1810.html
官网教程
https://github.com/top-think/think-queue
来源:https://blog.csdn.net/qq_35081380/article/details/118243229
参考:http://t.zoukankan.com/fps2tao-p-15145470.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2018-05-11 TP5 JSON对象数组转换为普通数组