GearmanWorker::addFunction

(PECL gearman >= 0.5.0)

GearmanWorker::addFunctionRegistra y añade una función de retorno

Descripción

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

Registra el nombre de una función en el servidor de trabajos y especifica la llamada de retorno quer corresponde a esa función. Opcionalmente se puede especificar datos extra del contexto de aplicación para que sean usados cuando se realiza la llamada a la función de retorno o expira el tiempo máximo permitido.

Parámetros

function_name

Nombre de la función a registrar en el servidor de trabajos

function

Función de retorno a llamar cuando el trabajo para el nombre de función registrado es enviado

context

Referencia a datos de contexto de la aplicación que pueden ser modificados por la la función del trabajador

timeout

Intervalo de tiempo en segundos

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Sencillo trabajador que usa los datos de contexto de aplicación

<?php

# obtiene un trabajador gearman
$worker= new GearmanWorker(); 

# añade el servidor por defecto (localhost)
$worker->addServer(); 

# define una variable en la que mantener los datos de aplicación
$count0

# añade la función "reverse"
$worker->addFunction("reverse""reverse_cb"$count);

# inicia el trabajador
while ($worker->work());

function 
reverse_cb($job, &$count

  
$count++; 
  return 
"$count: " strrev($job->workload()); 


?>

Ejecutando un cliente que envía dos trabajos para la función "reverse", tendrá un resultado similar a este:

1: olleh
2: dlrow

Ver también