文字

GearmanWorker::addFunction

(PECL gearman >= 0.5.0)

GearmanWorker::addFunctionRegister and add callback function

说明

public bool GearmanWorker::addFunction ( string $function_name , callable $function [, mixed &$context [, int $timeout ]] )

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

范例

Example #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

参见

  • GearmanClient::do() - Run a single task and return a result [deprecated]
上一篇: 下一篇: