Gearman GearmanClient::doStatus

(PECL gearman >= 0.5.0)

GearmanClient::doStatus — 실행 중인 작업의 상태 가져오기


설명

public GearmanClient::doStatus(): array

실행 중인 작업의 상태를 반환합니다. 반복되는 GearmanClient::doNormal() 호출 사이에 사용해야 합니다.


매개변수

이 함수에는 매개변수가 없습니다.


반환 값

첫 번째 요소가 분자이고 두 번째 요소가 분모인 분수로 지정된 완료율을 나타내는 배열입니다.


Examples

예제 #1 장기 실행 작업의 상태 가져오기

이 예제의 작업자는 반전될 문자열을 처리하는 동안 인위적인 지연이 추가되었습니다. 각 지연 후에 클라이언트가 선택하는 GearmanJob::status()를 호출합니다.

                  
<?php

echo "Starting\n";

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

# Send reverse job
do
{
  $result = $gmclient->doNormal("reverse", "Hello!");

  # Check for various return packets and errors.
  switch($gmclient->returnCode())
  {
    case GEARMAN_WORK_DATA:
      break;
    case GEARMAN_WORK_STATUS:
      # get the current job status
      list($numerator, $denominator)= $gmclient->doStatus();
      echo "Status: $numerator/$denominator complete\n";
      break;
    case GEARMAN_WORK_FAIL:
      echo "Failed\n";
      exit;
    case GEARMAN_SUCCESS:
      break;
    default:
      echo "RET: " . $gmclient->returnCode() . "\n";
      exit;
  }
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

echo "Success: $result\n";

?>
                  
                

위의 예는 다음과 유사한 결과를 출력합니다.

Starting
Sending job
Status: 1/6 complete
Status: 2/6 complete
Status: 3/6 complete
Status: 4/6 complete
Status: 5/6 complete
Status: 6/6 complete
Success: !olleH
                

기타