GearmanClient::doStatus

(PECL gearman >= 0.5.0)

GearmanClient::doStatusRecupera el estado de la tarea en curso

Descripción

public GearmanClient::doStatus(): array

Devuelve el estado de la tarea en curso. Puede ser utilizado durante múltiples llamadas al método GearmanClient::doNormal().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array que representa el porcentaje de realización proporcionado en forma de fracción, donde el primer elemento es el numerador, y el segundo, el denominador.

Ejemplos

Ejemplo #1 Recupera el estado de un trabajo cuya ejecución tarda tiempo

El agente en este ejemplo tiene un retraso artificial añadido durante la ejecución de la función. Después de cada retraso, llama al método GearmanJob::status() del cual el cliente recupera la información.

<?php

echo "Inicio\n";

# Crea un cliente.
$gmclient= new GearmanClient();

# Añade un servidor por defecto (localhost).
$gmclient->addServer();

echo
"Envío de un trabajo\n";

# Envío del trabajo
do
{
$result = $gmclient->doNormal("reverse", "Hello!");

# Verifica los diferentes paquetes y errores devueltos.
switch($gmclient->returnCode())
{
case
GEARMAN_WORK_DATA:
break;
case
GEARMAN_WORK_STATUS:
# Recupera el estado del trabajo en curso
list($numerator, $denominator)= $gmclient->doStatus();
echo
"Estado : $numerator/$denominator complete\n";
break;
case
GEARMAN_WORK_FAIL:
echo
"Fallo \n";
exit;
case
GEARMAN_SUCCESS:
break;
default:
echo
"RET : " . $gmclient->returnCode() . "\n";
exit;
}
}
while(
$gmclient->returnCode() != GEARMAN_SUCCESS);

echo
"Éxito : $result\n";

?>

El resultado del ejemplo sería algo similar a:

Inicio
Envío de un trabajo
Estado : 1/6 complete
Estado : 2/6 complete
Estado : 3/6 complete
Estado : 4/6 complete
Estado : 5/6 complete
Estado : 6/6 complete
Éxito : !olleH

Ver también

add a note

User Contributed Notes

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