beanstalkd的安装

Beanstalkd,一个高性能、轻量级的分布式内存队列系统,最初设计的目的是想通过后台异步执行耗时的任务来降低高容量Web应用系统的页面访问延迟,支持过有9.5 million用户的Facebook Causes应用。

wget https://github.com/downloads/kr/beanstalkd/beanstalkd-1.6.tar.gz

tar -xzvf beanstalkd-1.6.tar.gz

make && make install

安装php扩展

git clone https://github.com/nil-zhang/php-beanstalk.git

git clone https://github.com/bergundy/libbeanstalkclient.git

先安装libbeanstalkclient,然后继续php扩展安装

cd php-beanstalk

phpize

./configure

make && make install

python客户端安装

git clone https://github.com/earl/beanstalkc.git

cd beanstalk

python setup.py install

在运行时如果报:Failed to load PyYAML, will not parse YAML

则需要安装python的依赖组件:pip install pyyaml 进行安装

Beanstalkd设计里面的核心概念:

  • job

一个需要异步处理的任务,是Beanstalkd中的基本单元,需要放在一个tube中。

  • tube

一个有名的任务队列,用来存储统一类型的job,是producer和consumer操作的对象。

  • producer

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

  • consumer

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

原文地址:https://www.cnblogs.com/xiazh/p/2655557.html