Beanstalkd 消息队列
Posted zmdcomeon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Beanstalkd 消息队列相关的知识,希望对你有一定的参考价值。
下面图很重要,一定要熟记
安装beanstalkd与pheanstalk类(不支持windows系统)
apt安装
启动beanstalkd
安装php类pheanstalk
demo.php连接测试下类
在xshell里运行demo.php文件
运行结果
使用方法分为三类:生产、消费、维护
生产:生产者用到的方法;
消费:消费者用到的方法;
维护:平时用来管理pheanstalk的命令方法。
beanstalkd维护类有以下几种方法
beanstalkd生产类的方法(往队列里添加任务的)
例子如下:
beanstalkd的消费类
总结:
1、beanstalkd是什么:是一个高性能、轻量级的分布式内存队列
2、常用的队列服务:RabbitMQ、Kafka 3、生产者与消费者模式:
生产者--》job--》消费者
4、特性:优先级、延迟、持久化、预留、任务超时重发
5、核心元素: 1、管道与任务: 生产者--》管道--》任务--》消费者
6、只支持linux,不支持window:安装beanstalkd与pheanstalk类
7、$pheanstalk=require ‘beanstalkd.php‘;
print_r($pheanstalk->status);
维护类: stats:当前的状态
listTubes:当前的管道
statsTube:查看管道详细信息
useTube:指定要使用的管道
statsJob:任务的详细信息
peek:通过id取任务
生产类: putInTube:封装的
put:没有封装的
消费类: watch:设置监听的管道
ignore:去掉监听的管道
reserve:监听阻塞的管道
listTubesWatched:把监听的管道列出来
reserveFromTube:把watch和reserve的方法合并起来
release:重置任务,等下次执行
bury:封存一个任务,等条件允许了,再消费
peekBuried:读取预留任务
kickJob:读取预留任务,变成ready,
kick:可以输入数值,批量把小于这个值的变为buried--》ready peekReady: peekDelay: pauseTube:管道设置延迟
resumeTube:取消管道延迟
touch:让任务重新计算给任务续命的
以上是关于Beanstalkd 消息队列的主要内容,如果未能解决你的问题,请参考以下文章