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:让任务重新计算给任务续命的