gearman初步尝试

网上安装使用的资料已经一堆了  这个也给大家汇总一下,比较高端的几个。

http://www.php.net/manual/zh/book.gearman.php

http://huoding.com/2012/10/30/196

http://www.oschina.net/question/4873_11032

http://blog.csdn.net/jiao_fuyou/article/details/16330195

http://my.oschina.net/u/593721/blog/99384


在一个别人安装的gearman系统下,进入root权限

搜索gearman所在路径: whereis gearman

得到gearman: /usr/bin/gearman /usr/share/man/man1/gearman.1.gz   


拷贝别人的test案例:

gearmanwork.php

<?php
$worker= new GearmanWorker();
$worker->addServer();
$worker->addFunction('reverse', 'my_reverse_function');


while ($worker->work());


function my_reverse_function($job)
{
    return strrev($job->workload());
}



gearmanclient.php

<?php
$client= new GearmanClient();
$client->addServer();
echo $client->do('reverse', 'Hello World!'), "\n";

开启job:/usr/sbin/gearmand -d -u root

启动work:/usr/local/php/bin/php gearmanwork.php &   通过ps -f | grep gearman查看work

启动client:/usr/local/php/bin/php gearmanclient.php &

报错:

Warning: GearmanClient::do(): send_packet(GEARMAN_COULD_NOT_CONNECT) Failed to send server-options packet -> libgearman/connection.cc:485 in /usr/local/wwwroot/webapp/script/gearmanclient.php on line 4

很明显是addServer出现了问题,但是问题出在哪里呢,我尝试了修改addserver

addServer('127.0.0.1:4730');  addServer('127.0.0.1‘,'4730');都不可行,


我怀疑是job的问题,但是不知道如何查看job是否已经启用,后来搜索资料,发现应该这样启动job:

/usr/sbin/gearmand -d -L 127.0.0.1 -p 4730

后面要加ip端口号,这货现在没有默认的了,感觉这兼容真的很挫。。。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值