GearmanClient::addTaskLow

(PECL gearman >= 0.5.0)

GearmanClient::addTaskLowAñade una tarea de baja prioridad para ser ejecutada en paralelo

Descripción

public GearmanClient::addTaskLow(
    string $function_name,
    string|int|float $workload,
    mixed $context = null,
    ?string $unique_key = null
): GearmanTask|false

Añade una tarea de baja prioridad para ser ejecutada en paralelo con otras tareas. Esta método debe ser llamado para que todas las tareas se ejecuten simultáneamente, luego debe llamarse a GearmanClient::runTasks() para realizar el trabajo. Las tareas con baja prioridad serán seleccionadas de la cola después de las de mayor prioridad.

Parámetros

function_name

Función registrada que ejecutará el worker

workload

Datos serializados a ser procesados

context

Aplicación context a asociar con la tarea

unique_key

ID único para identificar una tarea en particular

Valores devueltos

Un objeto GearmanTask o false si la tarea no puede ser añadida.

Ejemplos

Ejemplo #1 Una tarea de baja prioridad junto con dos tareas normales

Se añade una tarea de baja prioridad junto con otras dos tareas. Solo hay un agente disponible, por lo que las tareas se ejecutan una tras otra, con la de baja prioridad al final.

<?php

# crea el cliente Gearman
$gmc= new GearmanClient();

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

# establece la devolución de llamada cuando la tarea está completada
$gmc->setCompleteCallback("inverse_complete");

# añade tareas, una de ellas con baja prioridad
$task= $gmc->addTask("inverse", "¡Hola mundo!", null, "1");
$task= $gmc->addTaskLow("inverse", "!ednom el ruojnoB", null, "2");
$task= $gmc->addTask("inverse", "¡Hola mundo!", null, "3");

if (!
$gmc->runTasks())
{
echo
"ERROR " . $gmc->error() . "\n";
exit;
}
echo
"Hecho\n";

function
inverse_complete($task)
{
echo
"Completada : " . $task->unique() . ", " . $task->data() . "\n";
}

?>

El resultado del ejemplo sería algo similar a:

Completada : 3, !ednom el ruojnoB
Completada : 1, !ednom el ruojnoB
Completada : 2, ¡Hola mundo!
Hecho

Ver también

add a note

User Contributed Notes

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