关于php:Beanstalkd的梳理

8次阅读

共计 795 个字符,预计需要花费 2 分钟才能阅读完成。

Beanstalkd

一个高性能、轻量级的分布式内存队列

个性

优先级、提早、长久化、预留、工作超时重发

保护类

stats:以后的状态
listTubes:以后的管道
statsTube:查看管道详细信息
useTube:指定要应用的管道
statsJob:工作的详细信息
peek:通过 id 取工作

生产类

putInTube:封装的
put:没有封装的
useTube: 指定应用的管道

消费类

watch:设置监听的管道
ignore:去掉监听的管道
reserve:监听阻塞的管道
listTubesWatched:把监听的管道列出来
reserveFromTube:把 watch 和 reserve 的办法合并起来
release:重置工作,等下次执行
bury:封存一个工作,等条件容许了,再生产,buried
peekBuried:读取预留 buried 工作
kickJob:读取预留 buried 工作,变成 ready,
kick:能够输出数值,批量把小于这个值的变为 buried–》ready
peekReady:读取 ready 状态的工作
peekDelay:读取 delay 的工作
pauseTube:管道设置提早
resumeTube:勾销管道提早
touch:让工作从新计算 TTL「给工作续命的」

job 生命周期

 put with delay               release with delay
  ----------------> [DELAYED] <------------.
                        |                   |
                 kick   | (time passes)     |
                        |                   |
   put                  v     reserve       |       delete
  -----------------> [READY] ---------> [RESERVED] --------> *poof*
                       ^  ^                |  |
                       |   \  release      |  |
                       |    `-------------'   |
                       |                      |
                       | kick                 |
                       |                      |
                       |       bury           |
                    [BURIED] <---------------'
                       |
                       |  delete
                        `--------> *poof*
正文完
 0