beanstalkd 协议概要


总的来讲,beanstalkd 的协议其实就是一个使用文档,所以作者将它放在 doc 下面。
那么,本章我们主要精简一下该文档,将 beanstalkd 文档中的所有指令罗列成表格,便于记忆和寻找。

命令列表

命令 描述
put 在队列中生成 job
use 用于生产者指定后续要存放 job 的 tube
reserve 用于消费者从队列中预定一个 job (接收 job),此命令会阻塞控制台,直到接收到 job
reserve-with-timeout 接收 job ,附带超时时间,超过时间未接收到 job 就结束了
delete 删除一个 job
release 将一个 reserved job 放回 ready 队列
bury 将一个 job 操作为 buried
touch 延长一个 job 的 ttr
watch 将一个 tube 加入到 watch list ,只有加入到 watch list 的 tube 才会被 reserve 命令接收到 job
ignore 从 watch list 中移除 tube
peek 根据 id 返回一个 job ,纯返回,不会修改 job 的状态
peek-ready 返回当前 tube 的一个 ready job
peek-delayed 从当前 tube 中返回一个剩余延迟时间最短的 delayed job
peek-buried 从当前 tube 中返回下一个 buried job
kick 一次性修改多个非 ready 的 job 到 ready 状态,其中会先处理 buried 再处理 delayed
kick-job 将指定的 job 调整为 ready 状态,调整后仍在原 tube 内
stats-job 查看某 job 的统计信息
stats-tube 查看某 tube 的统计信息
stats 查看 beanstalkd 的统计信息
list-tubes 返回当前存在的所有 tube
list-tube-used 查看当前 use 的 tube
list-tubes-watched 查看当前 watch list 中的 tube
quit 关闭当前连接
pause-tube 暂停 tube ,暂停后,tube 内的 job 不会再被接收