Añade una tarea de alta prioridad para ser ejecutada en paralelo

# GearmanClient::addTaskHigh

(PECL gearman >= 0.5.0)

GearmanClient::addTaskHigh — Añade una tarea de alta prioridad para ser ejecutada en paralelo

### Descripción

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

Añade una tarea de alta 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 GearmanClient::runTasks() debe ser llamado para realizar el trabajo. Las tareas con alta prioridad serán seleccionadas de la cola antes que las de prioridad más baja.

### Parámetros

`function_name`
  Una función registrada que el trabajador va a ejecutar
`workload`
  Datos serializados a analizar
`context`
  Contexto de la aplicación a asociar con una tarea
`unique_key`
  Un identificador único utilizado para identificar una tarea particular

### Valores devueltos

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

### Ejemplos

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

Se añade una tarea de alta prioridad junto con otras dos tareas. Un solo agente está disponible, de forma que las tareas se ejecutan una a una, con la de alta prioridad en primer lugar.

    <?php

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

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

    # establece el retorno cuando la tarea está completada
    $gmc->setCompleteCallback("inverse_complete");

    # añade tareas, una de ellas con alta prioridad
    $task= $gmc->addTask("inverse", "Bonjour le monde!", null, "1");
    $task= $gmc->addTaskHigh("inverse", "!ednom el ruojnoB", null, "2");
    $task= $gmc->addTask("inverse", "Bonjour le monde!", 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";
    }

    ?>

Resultado del ejemplo anterior es similar a:

    Completada : 2, Bonjour le monde!
    Completada : 3, !ednom el ruojnoB
    Completada : 1, !ednom el ruojnoB
    Hecho

### Ver también

- GearmanClient::addTask() - Añade una tarea para ser ejecutada en paralelo
- GearmanClient::addTaskLow() - Añade una tarea de baja prioridad para ser ejecutada en paralelo
- GearmanClient::addTaskBackground() - Añade una tarea de fondo para su ejecución en paralelo
- GearmanClient::addTaskHighBackground() - Añade una tarea de fondo de alta prioridad para ser ejecutada en paralelo
- GearmanClient::addTaskLowBackground() - Añade una tarea de fondo de baja prioridad para ser ejecutada en paralelo
- GearmanClient::runTasks() - Ejecuta una lista de tareas en paralelo

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open