从 PHP 使用 Gearman 类似于之前的示例,惟一的区别在于这里是在 PHP 内创建 producer 和 consumer。每个 consumer 的工作均封装在一个或多个 PHP 函数内。
清单 1 给出了用 PHP 编写的一个 Gearman worker。将这些代码保存在一个名为worker.php 的文件中。
<?php
$worker= new GearmanWorker();
$worker->addServer();
$worker->addFunction("title", "title_function");
while ($worker->work());
function title_function($job)
{
return ucwords(strtolower($job->workload()));
}
?>
清单 2 给出了用 PHP 编写的一个 producer,或client。将此代码保存在一个名为client.php 的文件内。
<?php
$client= new GearmanClient();
$client->addServer();
print $client->do("title", "AlL THE World's a sTagE");
print "\n";
?>
现在,可以用如下的命令行连接客户机与 worker 了:
$ php worker.php &
$ php client.php
All The World's A Stage
$ jobs [3]+ Running php worker.php &
这个 worker 应用程序继续运行,准备好服务另一个客户机。
转自:http://www.ibm.com/developerworks/cn/opensource/os-php-gearman/