(PECL gearman >= 0.5.0)
GearmanWorker::addFunction — 注册并添加回调函数
$function_name
,$function
,$context
= null
,$timeout
= 0在作业服务器上注册一个函数名并指定一个与该函数对应的回调。可选地指定额外的应用程序上下文数据,这些数据将在调用回调时使用,以及超时。
function_name
要在作业服务器上注册的函数名
function
当为注册的函数名提交作业时,将被调用的回调
context
对任意应用程序上下文数据的引用,该数据可以由工作函数修改
timeout
以秒为单位的时间间隔
示例 #1 使用额外应用程序上下文数据的简单工作程序
<?php
# 获取一个 Gearman 工作程序
$worker= new GearmanWorker();
# 添加默认服务器 (localhost)
$worker->addServer();
# 定义一个变量来保存应用程序数据
$count= 0;
# 添加 "reverse" 函数
$worker->addFunction("reverse", "reverse_cb", $count);
# 启动工作程序
while ($worker->work());
function reverse_cb($job, &$count)
{
$count++;
return "$count: " . strrev($job->workload());
}
?>
运行一个客户端,为 reverse 函数提交两个作业,将输出类似于以下内容
1: olleh 2: dlrow