Gearman GearmanClient::addTaskLow

(PECL gearman >= 0.5.0)

GearmanClient::addTaskLow — 병렬로 실행할 낮은 우선 순위 작업 추가


설명

public GearmanClient::addTaskLow(
    string $function_name,
    string $workload,
    mixed &$context = ?,
    string $unique = ?
): GearmanTask
                

다른 작업과 병렬로 실행할 낮은 우선 순위의 백그라운드 작업을 추가합니다. 모든 작업이 병렬로 실행되도록 이 메서드를 호출한 다음 GearmanClient::runTasks()를 호출하여 작업을 수행합니다. 낮은 우선 순위의 작업은 보통 또는 낮은 우선 순위의 작업 다음에 대기열에서 선택됩니다.


매개변수

function_name
작업자가 실행할 등록된 함수
workload
처리할 직렬화된 데이터
context
작업과 연결할 애플리케이션 컨텍스트
unique
특정 작업을 식별하는 데 사용되는 고유 ID

반환 값

작업을 추가할 수 없는 경우 GearmanTask 개체 또는 false입니다.


Examples

예제 #1 두 개의 일반 작업과 함께 낮은 우선 순위 작업

낮은 우선 순위 작업이 다른 두 작업에 포함됩니다. 단일 작업자를 사용할 수 있으므로 작업은 한 번에 하나씩 실행되고 우선 순위가 낮은 작업은 마지막에 실행됩니다.

                  
<?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 low priority
$task= $gmc->addTask("reverse", "Hello World!", null, "1");
$task= $gmc->addTaskLow("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: 3, !dlroW olleH
COMPLETE: 1, !dlroW olleH
COMPLETE: 2, Hello World!
DONE
                

기타