GearmanClient::addTaskHigh

(PECL gearman >= 0.5.0)

GearmanClient::addTaskHighAdd a high priority task to run in parallel

Опис

public GearmanTask GearmanClient::addTaskHigh ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Adds a high priority task to be run in parallel with other tasks. Call this method for all the high priority tasks to be run in parallel, then call GearmanClient::runTasks() to perform the work. Tasks with a high priority will be selected from the queue before those of normal or low priority.

Параметри

function_name

Зареєстрована функція, яку викликає робочий процес

workload

Серіалізовані дані для обробки

context

Контекст застосунку, що асоціюється із задачою

unique

Унікальний ID, що використовується для ідентифікації конкретної задачі

Значення, що повертаються

A GearmanTask object or FALSE if the task could not be added.

Приклади

Приклад #1 A high priority task along with two normal tasks

A high priority task is included among two other tasks. A single worker is available, so that tasks are run one at a time, with the high priority task run first.

<?php

# create the gearman client
$gmc= new GearmanClient();

# add the default job server
$gmc->addServer();

# set the callback for when the job is complete
$gmc->setCompleteCallback("reverse_complete");

# add tasks, one of which is high priority
$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 
"ERROR " $gmc->error() . "\n";
    exit;
}
echo 
"DONE\n";

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

?>

Наведений вище приклад виведе щось подібне до:

COMPLETE: 2, Hello World!
COMPLETE: 3, !dlroW olleH
COMPLETE: 1, !dlroW olleH
DONE

Прогляньте Також

add a note add a note

User Contributed Notes

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