发布于 2016-10-15 05:33:51 | 67 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

Gearman 任务调度程序

Gearman是一个分发任务的程序框架,可以用在各种场合,与Hadoop相比,Gearman更偏向于任务分发功能。它的 任务分布非常 简单,简单得可以只需要用脚本即可完成。Gearman最初用于LiveJournal的图片resize功能,由于图片resize需要消耗大量计算资 源,因此需要调度到后端多台服务器执行,完成任务之后返回前端再呈现到界面。


Ubuntu 12.04 安装 gearman 以及php扩展安装脚本

#!/usr/bash
#create by lhb
#date 2014-05-07
#desc install gearman and php extension for Ubuntu 12.04.4 LTS  PHP 5.5
apt-get update
#安装依赖库
apt-get install libboost-all-dev gperf libevent1-dev libcloog-ppl0
mkdir -pv /home/lhb/software && cd /home/lhb/software
#下载gearman包
wget https://launchpad.net/gearmand/1.2/1.1.8/+download/gearmand-1.1.8.tar.gz
tar zxvf gearmand-1.1.8.tar.gz
cd gearmand-1.1.8/
./configure
make
make install
cd ..
apt-get install gearman-job-server
service gearman-job-server start
ps -ef |grep gearman
#安装php5-fpm
apt-get install php5-fpm php-cli php5-cli php5-dev
#下载gearman的php扩展库
wget http://pecl.php.net/get/gearman-1.1.2.tgz
tar zxvf gearman-1.1.2.tgz
cd gearman-1.1.2/
phpize
whereis php-config
./configure --with-php-config=/usr/bin/php-config
make
make install
#加入到php.ini配置
echo "extension=gearman.so" > /etc/php5/mods-available/gearman.ini
#cd /etc/php5/cli/conf.d/  && ln -s ../../mods-available/gearman.ini gearman.ini
#cd /etc/php5/fpm/conf.d/ && ln -s ../../mods-available/gearman.ini gearman.ini
for target_path in /etc/php5/cli/conf.d/ /etc/php5/fpm/conf.d/ ; do
        cd $target_path && ln -s ../../mods-available/gearman.ini gearman.ini
done
service php5-fpm restart
#查看扩展是否安装成功
php --info | grep "gearman"
查看是否启动
ps auxw | grep [g]earmand
lsof -i tcp:4730

worker.php

<?php
  $worker= new GearmanWorker();
  $worker->addServer();
  $worker->addFunction("lhb", "lhb_test");
  while ($worker->work());
  function lhb_test($job)
  {
    return strtoupper($job->workload());
  }
?>

client.php

<?php
  $client= new GearmanClient();
  $client->addServer();
  print $client->do("lhb", "this is a test by lhb");
  print "n";
?>

测试结果:



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务