Adiciona uma tarefa de alta prioridade para ser executada em paralelo

# GearmanClient::addTaskHigh

(PECL gearman >= 0.5.0)

GearmanClient::addTaskHigh — Adiciona uma tarefa de alta prioridade para ser executada em paralelo

### Descrição

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

Adiciona uma tarefa de alta prioridade para ser executada em paralelo com outras tarefas. Chame este método para todas as tarefas de alta prioridade a serem executadas em paralelo, então chame GearmanClient::runTasks() para executar a tarefa. Tarefas com alta prioridade serão selecionadas da fila antes daquelas de prioridade normal ou baixa.

### Parâmetros

`function_name`
  Uma função registrada que o trabalhador deve executar
`workload`
  Dados serializados a serem processados
`context`
  Contexto da aplicação para associar a uma tarefa
`unique_key`
  Um identificador único usado para identificar uma tarefa específica

### Valor Retornado

Um objeto GearmanTask ou `false` se a tarefa não pôde ser adicionada.

### Exemplos

Exemplo #1 Uma tarefa de alta prioridade junto com duas tarefas normais

Uma tarefa de alta prioridade é incluída entre duas outras tarefas. Um único trabalhador está disponível, para que as tarefas sejam executadas uma de cada vez, com a tarefa de alta prioridade sendo executada primeiro.

    <?php

    # Cria o cliente gearman
    $gmc= new GearmanClient();

    # Adiciona o servidor de tarefa padrão
    $gmc->addServer();

    # Define a função de retorno para quando a tarefa for concluída
    $gmc->setCompleteCallback("reverse_complete");

    # Adiciona tarefas, uma das quais é de alta prioridade
    $task= $gmc->addTask("reverse", "Hello World!", null, "1");
    $task= $gmc->addTaskHigh("reverse", "!dlroW olleH", null, "2");
    $task= $gmc->addTask("reverse", "Hello World!", null, "3");

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

    function reverse_complete($task)
    {
        echo "CONCLUÍDO: " . $task->unique() . ", " . $task->data() . "\n";
    }

    ?>

O exemplo acima produzirá algo semelhante a:

    CONCLUÍDO: 2, Hello World!
    CONCLUÍDO: 3, !dlroW olleH
    CONCLUÍDO: 1, !dlroW olleH
    PRONTO

### Veja Também

- GearmanClient::addTask() - Adiciona uma tarefa para ser executada em paralelo
- GearmanClient::addTaskLow() - Adiciona uma tarefa de baixa prioridade para ser executada em paralelo
- GearmanClient::addTaskBackground() - Adiciona uma tarefa em segundo plano para ser executada em paralelo
- GearmanClient::addTaskHighBackground() - Adiciona uma tarefa de segundo plano de alta prioridade para ser executada em paralelo
- GearmanClient::addTaskLowBackground() - Adiciona uma tarefa em segundo plano de baixa prioridade para ser executada em paralelo
- GearmanClient::runTasks() - Executa uma lista de tarefas em paralelo

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