现在遇到的问题是 gearman 和 mysql 关联的问题.我这边连不上 不知道哪位大神 弄过. 网上找的不行的. 或者怎么才能持久化gearman. 就是万一server 重启后能找到未完成的任务.超级崩溃中!
还有个问题就是. 我 启动两台job server(192.168.35.197, 192.168.35.198). worker 机 和 client 机 都加入了这两台server的地址(addserver('192.168.35.197', 4730);  addserver('192.168.35.198', 4730);). 现在的问题是 一台 server 完蛋(比如108的 完蛋关机了),结果所有worker 都报错,没有完成的 client 机器也卡死了. 这个是为什么 ,网上找的 有人也是这么写的. 或者说 怎么才能多台job server 一起使用 一台关机 其他正常使用.网上代码 如下:
//客户端连接
<?php
 
//客户端连接
$gmclient= new GearmanClient();
$gmclient->addServer("192.168.35.197", 1234);
$gmclient->addServer("192.168.35.198", 1234);
 
//处理请求
$result = $gmclient->do("reverse", "Hello!");
 
var_dump($result);
 
?>
<?php
 
//Worker 实例
 
$gmworker=new GearmanWorker();
$gmworker->addServer("192.168.35.197", 1234);
$gmworker->addServer("192.168.35.198", 1234);
 
//注册
$gmworker->addFunction("reverse", "reverse_fn");
 
//等待执行
while ($gmworker->work());
 
//处理逻辑;反转字符串
function reverse_fn($job)
{
    return strrev($job->workload());
}
 
?>