GearmanWorker::addFunction

(PECL gearman >= 0.5.0)

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

Descripción

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

Registra una función de retrollamada con el servidor de trabajos y especifica una retrollamada correspondiente a esta función. Opcionalmente, fija datos de contexto de la aplicación a utilizar cuando la función de retrollamada es llamada, así como un tiempo límite de ejecución.

Parámetros

function_name

El nombre de la función a registrar con el servidor de trabajos

function

Una función de retrollamada a llamar cuando un trabajo es enviado

context

Una referencia a datos de contexto de la aplicación que pueden ser modificados por la función del agente.

timeout

Un intervalo de tiempo, en segundos.

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Ejemplos

Ejemplo #1 Agente simple que utiliza datos de contexto de la aplicación

<?php

# Crea un agente Gearman
$worker= new GearmanWorker();

# Añade el servidor por omisión (localhost)
$worker->addServer();

# Define una variable que contiene los datos de la aplicación
$count= 0;

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

# Inicia el agente
while ($worker->work());

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

?>

La ejecución de un cliente que envía 2 trabajos para la función reverse mostrará algo como:

1: olleh
2: dlrow

Ver también

add a note

User Contributed Notes

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