(PECL gearman >= 0.5.0)
GearmanClient::addTaskHigh — Add a high priority task to run in parallel
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.
워커가 실행할 등록된 함수
처리할 직렬화된 데이터
태스크에 할당된 어플리케이션 컨텍스트
특정 태스크를 인식하는데 사용하는 고유 ID
A GearmanTask object or
FALSE if the task could not be added.
Example #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.
# create the gearman client
$gmc= new GearmanClient();
# add the default job server
# set the callback for when the job is 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";
echo "COMPLETE: " . $task->unique() . ", " . $task->data() . "\n";
위 예제의 출력 예시:
COMPLETE: 2, Hello World! COMPLETE: 3, !dlroW olleH COMPLETE: 1, !dlroW olleH DONE