检查是否安装redis(没有请自行百度安装):

phpinfo:

配置thinkphp-queue,没有请执行 composer require topthink/think-queue 加入:

创建 队列 文件:

use think\Queue;class TestQueue
{// 测试public function queue(){// 推迟 n 秒执行  $queue = '指定队列名'Queue::later('2', 'app\message\job\Work','aa@qq.com','');// 执行 Work 的 send 方法//Queue::push('app\message\job\Work@send','aa@qq.com');// 默认执行 Work 的 fire 方法//Queue::push('app\message\job\Work','aa@qq.com');
echo '加入队列成功';}
}

队列 逻辑处理 文件:

namespace app\message\job;use think\queue\Job;class Work
{// 默认执行的方法public function fire(Job $job, $data){$isJobDone = $this->send($data);if ($isJobDone) {//成功删除任务$job->delete();} else {//任务轮询4次后删除if ($job->attempts() > 3) {// 第1种处理方式:重新发布任务,该任务延迟10秒后再执行//$job->release(10);// 第2种处理方式:原任务的基础上1分钟执行一次并增加尝试次数//$job->failed();// 第3种处理方式:删除任务$job->delete();}}}/*** 根据消息中的数据进行实际的业务处理* @param array|mixed    $data     发布任务时自定义的数据* @return boolean                 任务执行的结果*/private function send($data){// 开始执行队列的逻辑echo 'int ....';echo PHP_EOL;echo 'data: ' .$data;echo PHP_EOL;// ...return true;}
}

后台监听即可:

php think queue:listen
php think queue:listen --queue 'queuename'   // 监听指定队列

访问 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

转载于:https://www.cnblogs.com/xdtx/p/9540904.html

tp5.0 queue 队列操作相关推荐

  1. Tp5 实现 think-queue 队列操作

    安装 首先查看ThinkPHP框架版本,然后进入Packagist官网搜索think-queue,并根据ThinkPHP版本选择对应think-queue版本. thinkphp-queue地址:ht ...

  2. Queue队列操作-peek、pool、take等区别

    Java基础 在Java中阻塞队列的一些操作特性 add 增加一个元索 如果队列已满,则抛出一个IIIegaISlabEepeplian异常 remove 移除并返回队列头部的元素 如果队列为空,则抛 ...

  3. tp5 queue.php,tp5(think-queue)消息队列+supervisor进程管理实现队列常驻进程

    前言 传统的程序执行流程一般是 即时|同步|串行的,在某些场景下,会存在并发低,吞吐量低,响应时间长等问题.在大型系统中,一般会引入消息队列的组件,将流程中部分任务抽离出来放入消息队列,并由专门的消费 ...

  4. tp5.0 think-queue 消息队列

    安装 think-queue composer require topthink/think-queue 1.1.4 不加版本号 默认安装的最新的queue ,适用于tp6.0. 使用tp5.0 只需 ...

  5. python线性表和队列_[笔记]python数据结构之线性表:linkedlist链表,stack栈,queue队列...

    python数据结构之线性表 python内置了很多高级数据结构,list,dict,tuple,string,set等,在使用的时候十分舒心.但是,如果从一个初学者的角度利用python学习数据结构 ...

  6. python【蓝桥杯vip练习题库】ADV-233 队列操作

    VIP到期了,今天开始暂时不更新了. 试题 算法提高 队列操作 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 队列操作题.根据输入的操作命令,操作队列(1)入队.(2)出队并输出 ...

  7. python 进程间通信效率_Python进程间通信 multiProcessing Queue队列实现详解

    一.进程间通信 IPC(Inter-Process Communication) IPC机制:实现进程之间通讯 管道:pipe 基于共享的内存空间 队列:pipe+锁的概念--->queue 二 ...

  8. 【C++ 语言】容器 ( queue 队列 | stack 栈 | priority_queue 优先级队列 | set 集合 | 容器遍历 | map )

    文章目录 queue 队列 stack 栈 priority_queue 优先级队列 priority_queue 优先级队列指定排序方法 priority_queue 优先级队列排序行为 prior ...

  9. java集合类——Stack栈类与Queue队列

    今日走读代码时,遇到stack栈类,特查看java的API文档,总结如下: Stack继承Vector类,它通过五个操作对类 Vector 进行了扩展. 栈是 后进先出的. 栈提供了通常的 push ...

最新文章

  1. SFB公开课:TMG/IISARR/Web Application Proxy/发布UC(Lync/SFB)-2-通知
  2. 2.4带通采样的实际问题
  3. [译] Go: 理解 Sync.Pool 的设计
  4. mongodb 输出数组字段_三分钟 mongodb 开发快速上手
  5. 关于在vSphere环境中,安装WindowsServer2008_R2_x64系统,分区格式为GPT,隐藏分区为200M方法心得
  6. img src请求后台值值能判断_MVC中根据后台绝对路径读取图片并显示在IMG中
  7. 大型网站应用中 MySQL 的架构演变史
  8. wifi协议-802
  9. 【开发环境准备】更新板载ESP8285固件
  10. 项目管理如何真正实现降本增效?
  11. 香港流行乐黄金二十年——经典歌手(音乐人)全面回顾(四)
  12. 电脑故障维修判断指导大全(联想内部文件)[网络转载]
  13. 胶片效果滤镜渲染工具:DxO FilmPack Mac
  14. Java使用poi给Word加水印(目前自己了解的仅支持后缀为.docx格式的,.doc仍在研究)开源、免费。
  15. 【ESD专题】ESD和EOS有什么差异?
  16. 『 云原生·Docker』Docker存储
  17. c语言中字节数如何判断,C语言中怎样判断输入的是整数还是浮点数
  18. 我所见的沈阳世界园艺博览会
  19. 手把手教你搭建SpringBoot+MySQL+Mybatis项目(采坑日记)
  20. 聊聊​WebRTC之音频会话管理

热门文章

  1. SQL Server 2005下的分页SQL
  2. A Rectangular Barn
  3. 结构题直接定义赋值语句
  4. windows mobile设置插移动卡没反应_ipad pro外接移动硬盘ipados
  5. orm连接mysql_Django项目如何使用ORM连接MySQL
  6. android手机播放pc音乐播放器,最强手机音乐播放器?Foobar2K安卓版体验
  7. 子程序调用与宏定义的异同_如何用数控系统进行简单的宏程序调用?老师傅告诉你,用G65就行...
  8. linux ubuntu安装 mono,在Ubuntu 18.04系统中安装Mono及基本使用Mono的方法
  9. oracle 批处理 执行结果,在windows下怎么在批处理文件里面执行sqlplus并得到结果?...
  10. JavaScript中,this的绑定规则