gearman初步尝试

来源:互联网 发布:网络信息发布审核制度 编辑:程序博客网 时间:2024/05/18 20:36

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

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
原创粉丝点击