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程序设计有所帮助。