php异步任务处理: gearman

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php异步任务处理: gearman相关的知识,希望对你有一定的参考价值。

Gearman是一个用来把工作委派给其他机器、分布式的调用更适合做某项工作的机器、并发的做某项工作在多个调用间做负载均衡

 

准备软件包

gearmand-1.1.12.tar.gz

gearman-1.1.1.tgz  php扩展

 

安装支持组件

yum -y install boost-devel* gperf* libevent-devel* libuuid-devel*

./configure

make

make install

ldconfig

 

安装gearman

tar xf gearmand-1.1.12.tar.gz

cd gearmand-1.1.12

./configure --with-php-config=/usr/local/php/bin/php-config

make

make install

 

安装php扩展

tar xf gearman-1.1.1.tgz

cd gearman-1.1.1

/usr/local/php/bin/phpize --with-php-config=/usr/local/php/bin/php-config

./configure --with-php-config=/usr/local/php/bin/php-config

make

 

配置gearman

cp /tools/gearman-1.1.1/modules/gearman.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226

vi /usr/local/php/etc/php.ini

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226"

extension="gearman.so"

service httpd restart

 

开始使用

mkdir -p /usr/local/var/log/

echo ‘‘ > /usr/local/var/log/gearmand.log

gearmand -d

ps -ef | grep gearman

root      15045      1  0 21:50 ?        00:00:00 gearmand -d

root      15053      1  0 21:51 ?        00:00:00 gearmand -d

root      15056 112065  0 21:52 pts/3    00:00:00 grep gearman

 

/usr/local/php/bin/php -c /usr/local/php/etc/php.ini client.php

/usr/local/php/bin/php -c /usr/local/php/etc/php.ini worker.php

 

附: 几个代码示例

把代码放到htdocs目录下, 分别访问 worker.php 和 client.php

在linux命令行下执行也可以...

 

 

 

 

 

;

以上是关于php异步任务处理: gearman的主要内容,如果未能解决你的问题,请参考以下文章

Gearman使用示例

gearman(异步计算)学习

使用gearman进行异步的邮件或短信发送

Gearman 异步任务软件的介绍

php workerman怎么用

[Linux]使用PHP编写Gearman的Worker守护进程