CakeFest 2024: The Official CakePHP Conference

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
$count= 0;

# 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

add a note

User Contributed Notes

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