GearmanWorker::addFunction

(PECL gearman >= 0.5.0)

GearmanWorker::addFunctionRegister and add callback function

说明

public GearmanWorker::addFunction ( string $function_name , callable $function , mixed &$context = ? , int $timeout = ? ) : 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
$count0

# 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

参见