(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());
}
?>
运行提交反转函数的两个作业的客户端将会有类似于以下的输出
1: olleh 2: dlrow