라이브러리

[PHP] GearmanClient::runTasks - 작업 목록을 병렬로 실행합니다.




GearmanClient::runTasks는 PHP에서 Gearman을 사용하여 작업을 수행하는 데 사용되는 메서드입니다. Gearman은 분산 작업 처리를 위한 분산 작업 시스템입니다. GearmanClient는 Gearman 서버와 통신하여 작업을 제출하고 결과를 받는 데 사용됩니다.

GearmanClient::runTasks 사용법


GearmanClient::runTasks 메서드는 작업을 제출하고 결과를 받는 데 사용됩니다. 이 메서드는 여러 작업을 한번에 제출할 수 있습니다. 작업은 배열로 전달되며, 각 작업은 다음과 같은 형식으로 전달됩니다.

#hostingforum.kr
php

array(

    'function' => '작업 함수 이름',

    'data' => '작업 데이터',

    'unique' => '작업 고유 식별자'

)



예제


다음 예제는 GearmanClient::runTasks 메서드를 사용하여 작업을 제출하고 결과를 받는 방법을 보여줍니다.

#hostingforum.kr
php

// Gearman 서버 주소

$gearmanServer = 'localhost:4730';



// Gearman 클라이언트 생성

$client = new GearmanClient();



// Gearman 서버 연결

$client->addServer($gearmanServer);



// 작업 함수

function myFunction($job) {

    // 작업 데이터를 받음

    $data = $job->workload();



    // 작업 결과를 반환

    return '작업 결과: ' . $data;

}



// 작업 제출

$tasks = array(

    array(

        'function' => 'myFunction',

        'data' => 'Hello, World!',

        'unique' => 'task1'

    ),

    array(

        'function' => 'myFunction',

        'data' => 'Gearman',

        'unique' => 'task2'

    )

);



// 작업 제출 및 결과 받기

$result = $client->runTasks($tasks);



// 결과 출력

foreach ($result as $task) {

    echo $task . "
";

}



GearmanClient::runTasks 옵션


GearmanClient::runTasks 메서드는 다음과 같은 옵션을 지원합니다.

* `lowPriority`: 작업을 낮은 우선순위로 제출합니다.
* `highPriority`: 작업을 높은 우선순위로 제출합니다.
* `background`: 작업을 백그라운드에서 제출합니다.
* `unique`: 작업 고유 식별자를 지정합니다.

예제 (옵션 사용)


다음 예제는 GearmanClient::runTasks 메서드를 사용하여 작업을 제출하고 결과를 받는 방법을 보여줍니다. 이 예제에서는 `lowPriority` 옵션을 사용하여 작업을 낮은 우선순위로 제출합니다.

#hostingforum.kr
php

// Gearman 서버 주소

$gearmanServer = 'localhost:4730';



// Gearman 클라이언트 생성

$client = new GearmanClient();



// Gearman 서버 연결

$client->addServer($gearmanServer);



// 작업 함수

function myFunction($job) {

    // 작업 데이터를 받음

    $data = $job->workload();



    // 작업 결과를 반환

    return '작업 결과: ' . $data;

}



// 작업 제출

$tasks = array(

    array(

        'function' => 'myFunction',

        'data' => 'Hello, World!',

        'unique' => 'task1'

    ),

    array(

        'function' => 'myFunction',

        'data' => 'Gearman',

        'unique' => 'task2'

    )

);



// 작업 제출 및 결과 받기

$result = $client->runTasks($tasks, GEARMAN_CLIENT_LOW_PRIORITY);



// 결과 출력

foreach ($result as $task) {

    echo $task . "
";

}



GearmanClient::runTasks 메서드는 PHP에서 Gearman을 사용하여 작업을 수행하는 데 사용되는 메서드입니다. 이 메서드는 작업을 제출하고 결과를 받는 데 사용됩니다. GearmanClient::runTasks 메서드는 여러 작업을 한번에 제출할 수 있으며, 작업은 배열로 전달됩니다. 작업 함수는 작업 데이터를 받고 작업 결과를 반환합니다. GearmanClient::runTasks 메서드는 또한 옵션을 지원합니다. 예를 들어, `lowPriority` 옵션을 사용하여 작업을 낮은 우선순위로 제출할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 539 페이지

검색

게시물 검색