php消息队列之 think queue消息队列初体验

使用thinkphp 5的  消息队列 think queue

● php think queue:listen --queue queuename
● php think queue:work --daemon --queue xwyqueue

使用这两个命令进行消息队列的监控,在整个Linux操作界面关闭以后,发现就无法运行了。

原因就是这个进程没有常驻在系统后台。那么就需要用到liunx操作系统的 supervisor 来保证进程常驻

在百度搜索 supervisor 的安装 使用

然后配置好 supervisor.conf文件

[program:php]command= /usr/bin/php think queue:work --queue xwyqueue --daemon ; 被监控进程directory=/www/website/weixin/
;process_name=%(process_num)02d;numprocs=5 #启动几个进程autostart=true ;随着supervisord的启动而启动autorestart=true ;自动启动startsecs=1 ;程序重启时候停留在runing状态的秒数startretries=10 ;启动失败时的最多重试次数redirect_stderr=true ;重定向stderr到stdoutstdout_logfile=/root/supervisor.log ;stdout文件

配置好以后

启动Supervisor服务
supervisord -c /etc/supervisor/supervisord.conf

在执行命令出现以下提示信息时:
Error: Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting supervisord.
For help, use /usr/bin/supervisord –h
是因为有一个使用supervisor配置的应用程序正在运行,需要执行supervisorctl shutdown命令终止

supervisorctl status #查看所有任务状态

我,秋峰,phper,目前创业,做项目系统开发   相互学习  共同提高   微信号:qiufeng2983  
时间: 2024-08-06 02:15:49

php消息队列之 think queue消息队列初体验的相关文章

消息队列(Message Queue)基本概念

背景 之前做日志收集模块时,用到flume.另外也有的方案,集成kafaka来提升系统可扩展性,其中涉及到消息队列当时自己并不清楚为什么要使用消息队列.而在我自己提出的原始日志采集方案中不适用消息队列时,有几个基本问题:1. 日志文件上传过程,有个基本的生产者-消费者问题:2. 另外系统崩溃时,数据丢失的处理问题. 今天,几位同事再次谈到消息队列这么个东西,很NB的样子,我也想弄清楚,OK,搞起. 什么是消息队列 消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,F

Java分布式:消息队列(Message Queue)

Java分布式:消息队列(Message Queue) 引入消息队列 消息,是服务间通信的一种数据单位,消息可以非常简单,例如只包含文本字符串:也可以更复杂,可能包含嵌入对象.队列,是一种常见的数据结构,它是保存消息的容器.那么消息队列就是以消息为基本单位的优先队列. 借助消息队列,系统的不同部分可相互通信并异步执行处理操作.消息队列提供一个临时存储消息的轻量级缓冲区,以及允许软件组件连接到队列以发送和接收消息的终端节点.这些消息通常较小,可以是请求.恢复.错误消息或明文信息等. 为什么使用消息

全面理解Handler第一步:理解消息队列,手写消息队列

前言 Handler机制这个话题,算是烂大街的内容.但是为什么偏偏重拿出来"炒一波冷饭"呢?因为自己发现这"冷饭"好像吃的不是很明白.最近在思考几个问题,发现以之前对Handler机制的了解是在过于浅显.什么问题? Handler机制存在的意义是什么?能否用其他方式替换? Looper.loop();是一个死循环,为什么没有阻塞主线程?用什么样的方式解决死循环的问题? 如果透彻的了解Handler,以及线程的知识.是肯定不会有这些疑问的,因为以上问题本身就存在问题.

8.windows消息机制(三)消息队列

1.消息队列 消息队列用于存放消息的一个队列,消息在队列中先入先出.所有窗口程序都具有消息队列,程序可以从队列中获取消息. 2.消息队列的类型 系统消息队列 - 由系统维护的消息队列,存放系统产生的消息,例如鼠标.键盘等. 程序消息队列 - 属于每一个应用程序(线程)的消息队列,由应用程序(线程)维护. 3.消息队列的关系 当鼠标.键盘产生消息时,会将消息存放到系统消息队列. 系统会根据存放的消息,找到对应窗口的消息队列.

C# Azure 消息队列ServiceBus (服务总线队列)

1. 前言 在阅读本文之前,可以查看微软官方的说明. https://www.azure.cn/documentation/articles/service-bus-create-queues/ 2. 介绍 1) service bus的队列,若当前消息被成功处理后,则这个消息会从队列中消失. 2) service bus是先进先出的队列,当取队列时,一直停留做等待,直到有消息进入. 3) Windows Azure Service Bus 提供安全且广泛可用的托管基础结构,以实现广泛通信.大范

消息队列属性及常见消息队列介绍

什么是消息队列?消息队列是在消息的传输过程中保存消息的容器,用于接收消息并以文件的方式存储,一个队列的消息可以同时被多个消息消费者消费.分布式消息服务DMS则是分布式的队列系统,消息队列中的消息分布存储,且每条消息存储多个副本,以实现高可用性,如下图所示. 一般来说,消息队列具有如下属性: 消息顺序普通队列支持"分区有序"和"全局队列"两种模式,ActiveMQ队列和Kafka队列均为分区有序. 分区有序的队列通过分布式处理,支持更高的并发,但由于队列的分布式特性,

Spring整合ActiveMQ及多个Queue消息监听的配置

消息队列(MQ)越来越火,在java开发的项目也属于比较常见的技术,MQ的相关使用也成java开发人员必备的技能.笔者公司采用的MQ是ActiveMQ,且消息都是用的点对点的模式.本文记录了实现Spring整合ActivateMQ的全过程及如何使用MQ,便于后续查阅. 一.项目的搭建 采用maven构建项目,免去了copy jar包的麻烦.因此,我们创建了一个java类型的Maven Project (1)项目结构图 先把项目结构图看一下,便于对项目的理解. (2)pom.xml 我们需要加入以

STL --> queue单向队列

queue单向队列 queue 模板类的定义在<queue>头文件中.与stack 模板类很相似,queue 模板类也需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型. 定义queue 对象的示例代码如下:queue<int> q1;queue<double> q2; queue 的基本操作有: q.push(x)                入队,将x 接到队列的末端.q.pop()             

java中使用队列:java.util.Queue (转)

Queue接口与List.Set同一级别,都是继承了Collection接口.LinkedList实现了Queue接 口.Queue接口窄化了对LinkedList的方法的访问权限(即在方法中的参数类型如果是Queue时,就完全只能访问Queue接口所定义的方法 了,而不能直接访问 LinkedList的非Queue的方法),以使得只有恰当的方法才可以使用.BlockingQueue 继承了Queue接口. 队列是一种数据结构.它有两个基本操作:在队列尾部加人一个元素,和从队列头部移除一个元素就