1. php 是进程处理,单线程到的,没有异步机制,在一些处理花费时间较多的情况导致用户体验较差.可以使用gearman 进行异步处理.
2. gearman 是一个异步处理的socket架构. 需要一个Client端调用.一个Worker端执行,一个job任务分发器.
3. 安装
wget https://launchpad.net/gearmand/1.2/1.1.12/+download/gearmand-1.1.12.tar.gz
./configure ------报错BOOST_ROOT找不到,yum 安装了boost-devel 还是找不到.
yum -y install boost-devel* -----报错yum cannot retrive xx ,====>vi /etc/yum.repo.d/epel.repo 留一个base和path
***
你也可以图省事 yum y install gearmand . yum 找不到 的时候,在这里找一个http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/x86_64/
rpm -ivh xxx.repo 之后就可以yum install 了.
自己手写了一个BOOST_ROOT export 到环境变量还是不行,看来只能源码包安装BOOST了,然后手动设置BOOST_ROOT了,就把他设置为BOOST的源码目录即可.
******手写了BOOST_ROOT 还是不行啊, 搞这个玩意一个下午了. 果断yum 安装.这个坑不要跳了.没意思.
****
http://sourceforge.net/projects/boost/files/boost/1.60.0/
不要下载最新版,最新版估计需要其他依赖,所以1.4x版的就可以了啦.
4. 安装完gearman 之后
gearman -d 以守护进程方式启动
5. 编译phpize ,加入gearman扩展.使用php 调用做client和Worker搞定.
php 异步处理的gearman的更多相关文章
-
分布式的任务分发框架-Gearman
官方文档:http://gearman.org/getting-started/ 安装方法和示例都有,可以详细看一下. Gearman是一个分发任务的程序框架,可以用在各种场合,与Hadoop相比,G ...
-
利用 Gearman 实现系统错误报警功能
Gearman 是什么? Gearman是一个用来把工作委派给其他机器.分布式的调用更适合做某项工作的机器.并发的做某项工作在多个调用间做负载均衡.或用来在调用其它语言的函数的系统. Gearman ...
-
Python后端相关技术/工具栈
编辑器 最常见: vim / SublimeText2 / PyCharm Vim有兴趣可以看看 k-vim 适合Python/Golang开发 本地环境 pip/easy_install 包管理 v ...
-
Gearman + Nodejs + MySQL UDF异步实现 MySQL 到 Redis 的数据同步
[TOC] 1, 环境 CentOS, MySQL, Redis, Nodejs 2, Redis简介 Redis是一个开源的K-V内存数据库,它的key可以是string/set/hash/list ...
-
JAVA通过Gearman实现MySQL到Redis的数据同步(异步复制)
MySQL到Redis数据复制方案 无论MySQL还是Redis,自身都带有数据同步的机制,像比较常用的 MySQL的Master/Slave模式 ,就是由Slave端分析Master的binlog来 ...
-
【python】gearman阻塞非阻塞,同步/异步,状态
参考: http://pythonhosted.org/gearman/client.html?highlight=submit_multiple_jobs#gearman.client.Gearma ...
-
gearman(异步计算)学习
Gearman是什么? 它是分布式的程序调用框架,可完成跨语言的相互调 用,适合在后台运行工作任务.最初是2005年perl版本,2008年发布C/C++版本.目前大部分源码都是(Gearmand服务 ...
-
Gearman实战第一弹:异步处理结算单
昨天梦回jm,醒来之后看着窗外万里晴空,想大声喊一句:爷青回! 我想起之前使用gearman的岁月.不知不觉也过了快5年,想总结一篇关于gearman的技术文章算是一种对青春的祭奠,再不写的话更少有p ...
-
php安装gearman扩展实现异步分步式任务
参考: 1.小喵爱你的博客 2.PHP Manual 依赖 1.gcc44 2.boost >=1.39 3.libevent 4.php5.3+ 5.update ld.so.conf 安装依 ...
随机推荐
-
javascript的this
关于JavaScript中的this的取值: 函数在创建的时候,会创建两个隐藏属性:函数的上下文.实现函数行为的代码(调用属性):以及prototype属性.length属性. 函数在调用的时候,除了 ...
-
passport 自动取密码
django settings.py """ Django settings for password project. Generated by . For more ...
-
IOS AVAUDIOPLAYER 播放器使用
1. 导入 AVFoundation.framework 2.导入头文件 #import <AVFoundation/AVFoundation.h> 3. player = [[AVAu ...
-
[iOS 多线程 &; 网络 - 2.4] - 大文件下载 (边下边写/暂停恢复下载/压缩解压zip/多线程下载)
A.需求 边下边写入硬盘 显示下载进度 暂停/恢复 下载 解压文件 多线程下载 B.基本知识 1.小文件下载 如果文件比较小,下载方式会比较多直接用NSData的+ (id)dataWithCon ...
-
ROS学习笔记(九)——ROSSERVICE
NEW 1 $ roscore NEW 2 $ rosrun turtlesim turtlesim_node NEW 3 $ rosrun turtlesim turtle_teleop_key N ...
-
关于PHPExcel类占用内存问题
最近在帮一家公司做后台excel导出功能,使用的工具类是phpexcel,因为这个类功能比较强大.全面. 但是遇到下面一个问题: 当导出数据量达到一定数量级的时候,比如说1000条,服务器出现卡顿.白 ...
-
字体选择框QFontComboBox
self.combobox_2 = QFontComboBox(self) # 实例化字体列表框 combobox.currentFont() 返回字体选择框中当前的字体 self.combobo ...
-
rsyn同步软链接保持不变
#!/bin/bash rsync --port=873 -vzrtopgLK --progress --delete --password-file=/tuandai/rsync/rsync.pas ...
-
UnicodeString基本操作(Ring0)
#include "Unicode_String_Ring0.h" //bp Unicode_String_Ring0!DriverEntry NTSTATUS DriverEnt ...
-
golang通过反射动态调用方法
func Call(m map[string]interface{}, name string, params ...interface{}) ([]reflect.Value, error) { f ...