PHPerKaigi 2024

GearmanWorker::addFunction

(PECL gearman >= 0.5.0)

GearmanWorker::addFunctionRegister and add callback function

说明

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

Registers a function name with the job server and specifies a callback corresponding to that function. Optionally specify extra application context data to be used when the callback is called and a timeout.

参数

function_name

The name of a function to register with the job server

function

A callback that gets called when a job for the registered function name is submitted

context

A reference to arbitrary application context data that can be modified by the worker function

timeout

An interval of time in seconds

返回值

成功时返回 true, 或者在失败时返回 false

示例

示例 #1 Simple worker making use of extra application context data

<?php

# get a gearman worker
$worker= new GearmanWorker();

# add the default server (localhost)
$worker->addServer();

# define a variable to hold application data
$count= 0;

# add the "reverse" function
$worker->addFunction("reverse", "reverse_cb", $count);

# start the worker
while ($worker->work());

function
reverse_cb($job, &$count)
{
$count++;
return
"$count: " . strrev($job->workload());
}

?>

Running a client that submits two jobs for the reverse function would have output similar to the following:

1: olleh
2: dlrow

参见

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top