라이브러리

[PHP] GearmanClient::do - 단일 작업을 실행하고 결과를 반환합니다 [더 이상 사용되지 않음]




GearmanClient::do 메서드 소개


GearmanClient::do 메서드는 GearmanClient 클래스의 메서드 중 하나로, Gearman 서버에 작업을 요청하는 데 사용됩니다. Gearman은 분산 처리를 위한 분산 작업 큐 시스템으로, 여러 서버에서 작업을 처리할 수 있습니다.

GearmanClient::do 메서드는 작업을 요청하고, 작업의 결과를 반환받을 수 있습니다. 이 메서드는 다음과 같은 형태로 사용됩니다.

#hostingforum.kr
php

$result = $client->do($job, $data);



* `$client` : GearmanClient 객체
* `$job` : 작업 ID 또는 작업 이름
* `$data` : 작업에 전달할 데이터

예제


다음 예제는 GearmanClient::do 메서드를 사용하여 작업을 요청하고, 결과를 반환받는 방법을 보여줍니다.

#hostingforum.kr
php

// GearmanClient 객체 생성

$client = new GearmanClient();



// Gearman 서버 목록

$hosts = array('localhost:4730', 'localhost:4731');



// Gearman 서버 목록을 설정

$client->addServers($hosts);



// 작업 ID

$job = 'my_job';



// 작업에 전달할 데이터

$data = 'Hello, World!';



// 작업 요청

$result = $client->do($job, $data);



// 작업 결과를 반환받기

if ($client->returnCode() == GEARMAN_SUCCESS) {

    echo "작업 결과: " . $result . "
";

} else {

    echo "작업 실패: " . $client->error() . "
";

}



// GearmanClient 객체 종료

$client->shutdown();



작업 결과 처리


GearmanClient::do 메서드는 작업 결과를 반환받기 위해 `returnCode()` 메서드를 사용할 수 있습니다. `returnCode()` 메서드는 작업의 반환 코드를 반환하며, 다음과 같은 값을 반환할 수 있습니다.

* `GEARMAN_SUCCESS` : 작업 성공
* `GEARMAN_NO_SERVERS` : Gearman 서버가 없음
* `GEARMAN_INVALID` : 작업이 유효하지 않음
* `GEARMAN_WORKER_FAILURE` : 작업 처리 중 오류 발생
* `GEARMAN_WORKLOAD_TOO_HIGH` : 작업 로드가 너무 높음

작업 결과를 처리할 때, `returnCode()` 메서드의 반환 값을 확인하여 작업의 성공 여부를 확인할 수 있습니다.

참고


GearmanClient::do 메서드는 작업을 요청하고, 결과를 반환받을 수 있습니다. 하지만, 작업의 결과를 반환받기 위해 `returnCode()` 메서드를 사용하여 작업의 반환 코드를 확인해야 합니다. 또한, Gearman 서버 목록을 설정하고, 작업 ID와 데이터를 전달하여 작업을 요청해야 합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색