PHP 8.5.0 Alpha 2 available for testing

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

Esta función retorna true en caso de éxito o false si ocurre un 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