本文实例讲述了gearman管理工具GearmanManager的安装与php使用方法。分享给大家供大家参考,具体如下:
一、gearman自带了一个gearadmin工具
查看帮助信息
> gearadmin --help
查看状态
> gearadmin --status
查看worker信息
> gearadmin --workers
二、为什么要用GearmanManager
为什么要用GearmanManager来管理我们的worker,因为我们用php编写的worker是要常驻后台运行的。
而且一旦worker过多时,代码更新,难道要一个一个手动重启,显然这是很麻烦的。如果中途出现意外中断或内存泄漏也不好管理。
网上的解决方案一般有如下二种:
1、通过定时任务crontab来定时的重启worker
2、通过php的pcntl扩展,创建多进程来运行worker,主进程监控子进程,如果子进程退出,则重新启动一个子进程来运行worker。
三、使用GearmanManager
GearmanManager下载地址:
https://github.com/brianlmoon/GearmanManager/releases
如:GearmanManager-2.1.0.tar.gz
1、我们创建一个目录用来存放worker的代码
> mkdir -p /data/workers
2、然后我们创建一个sum.php的worker文件,用来处理计算两个数之和。
sum.php代码如下:
<"htmlcode"><"htmlcode">> tar xf GearmanManager-2.1.0.tar.gz > mv GearmanManager-2.1.0 /data/GearmanManager > cd /data/GearmanManager我们只需要关心bin和etc这两个目录,etc目录下提供了三个配置文件
config-advanced.ini 高级配置 config.ini 简单配置 config.php php方式的配置配置文件说明:
;全局配置 [GearmanManager] ;指定服务器,可添加多个,用逗号分割 host=192.168.1.111:4730,192.168.1.222:4730 ;worker文件存放目录,可添加多个,用逗号分割 worker_dir=/data/workers ;要加载的worker,默认所有 include=* ;运行所有worker进程数 count=10 ;worker专用进程数,比如总数是10个,有10个worker,每个worker一个进程 dedicated_count=1 ;worker最大有效期,单位秒 max_worker_lifetime=3600 ;监控worker目录的代码更新,发现代码更新,则杀掉进程,重新加载代码。 auto_update=1 ;超时时间 timeout = 300 ;当然我们也可以对指定的某个worker进行配置 [sum] ;指定5个进程 dedicated_count=5 ;5个进程都只做sum工作 dedicated_only=14、我们复制配置文件,并修改成如上所示,并保存
> mv etc/config-advanced.ini etc/GearmanManager.ini5、运行GearmanManager
> cd /data/GearmanManager > ./bin/pecl_manager.php -c /data/GearmanManager/etc/GearmanManager.ini -vvv参数说明如下:
-P 管理进程pid文件所在目录,配置文件中通过pid_file来指定 -d 以守护进程形式运行 -u 指定守护进程的用户 -w 指定worker目录,当然配置文件里有配置,这里可以不用 -c 指定配置文件 -l 指定日志存放目录,如果没指定,则输出到标准输出stdout -h 指定服务器,例如: 192.168.1.111:4730,192.168.1.222:4730 -v 只记录启动与关闭信息 -vv 进程的创建与退出信息 -vvv 关于worker信息和所做工作 -vvvv 调试信息 -vvvvv 所有信息如果出现/usr/bin/env: php: 没有那个文件或目录,请把php可执行文件加入环境变量
> echo 'export PATH=/data/php56/bin:/data/php56/sbin:$PATH' /etc/profile > source /etc/profile更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP进程与线程操作技巧总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]