php使用gearman进行任务分发操作实例详解(3)
worker.php代码如下:
<?php
//创建一个worker
$worker = new GearmanWorker();
//添加一个job服务
$worker->addServer('127.0.0.1', 4730);
//注册一个回调函数,用于业务处理
$worker->addFunction('sum', function($job) {
//workload()获取客户端发送来的序列化数据
$data = json_decode($job->workload(), true);
sleep(1);
$sum = 0;
for($ix = $data[0]; $ix < $data[1]; ++$ix) {
$sum += $ix;
}
return $sum;
});
//死循环
//等待job提交的任务
while($worker->work());
我们开启5个worker工作进程,当运行客户端请求时,5个计算任务几乎是同时返回结果。
结果如下:


更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP进程与线程操作技巧总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
