Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Beanstalkd消息/任务队列的详解

Beanstalkd消息/任务队列的详解

藏色散人
藏色散人ke hadapan
2019-05-05 14:35:453299semak imbas

Beanstalkd消息/任务队列的详解

Beanstalkd是什么?

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

基本概念

job:需要异步处理的任务(或消息),是Beanstalkd中的基本单元

tube :管道(或消息队列),用来存储同一类型的job,是producer和consumer操作的对象

producer: job的生产者,通过put命令来将一个job放到一个tube中

consumer: job的消费者,通过reserve/release/bury/delete命令来获取job或改变job的状态

job状态

delayed: 延迟状态

ready: 待消费者读取状态

reserved: 消费者处理中状态

buried: 预留状态

delete: 处理完成删除状态

特性

priority:优先级,支持0到2^32的优先级,值越小,优先级越高,默认优先级为1024

delay: 延迟,延迟消费,用来实现定时任务

持久:通过binlog将job及其状态记录到文件里面,在Beanstalkd重启或挂掉后,通过读取binlog来恢复之前的job及状态

TTR:超时控制,put一个job时,可以设置超时时间,如果consumer不能在TTR时间内处理完成,job将会被置为ready状态,供其他consumer继续执行。

Atas ialah kandungan terperinci Beanstalkd消息/任务队列的详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:jmsite.cn. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Artikel sebelumnya:pcre是什么?Artikel seterusnya:PHP中的trim函数怎么用