PHP Conference Japan 2024

GearmanWorker::addFunction

(PECL gearman >= 0.5.0)

GearmanWorker::addFunction注册并添加回调函数

描述

public GearmanWorker::addFunction (
    string $function_name,
    callable $function,
    mixed $context = null,
    int $timeout = 0
): bool

将函数名注册到作业服务器,并指定与该函数对应的回调函数。可以选择性地指定在调用回调函数时使用的额外应用程序上下文数据和超时时间。

参数

function_name

要向作业服务器注册的函数名称。

function

提交注册函数名的作业时调用的回调函数。

context

对任意应用程序上下文数据的引用,工作函数可以修改此数据。

timeout

时间间隔(秒)。

返回值

成功时返回 true,失败时返回 false

范例

示例 #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

参见

添加注释

用户贡献注释

此页面没有用户贡献的注释。
To Top