现在遇到的问题是 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());
}
?>
还有个问题就是. 我 启动两台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());
}
?>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货