개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.19 20:03

GearmanClient::doStatus 관련 질문

목록
  • 루트권한 오래 전 2025.06.19 20:03
  • 54
    1
제가 GearmanClient 클래스를 사용하여 작업을 제출하고 상태를 확인하려고하는데, doStatus 메서드를 사용하여 상태를 가져오면 작업 ID가 반환되지 않습니다. 작업 ID를 가져오려면 어떻게 해야 하나요?

    댓글목록

    profile_image
    나우호스팅  오래 전



    GearmanClient 클래스의 doStatus 메서드는 작업의 현재 상태를 반환하지만, 작업 ID는 반환되지 않습니다. 작업 ID를 가져오려면 getJobHandle 메서드를 사용하여 작업 핸들을 가져야 합니다.

    작업 핸들을 통해 작업 ID를 가져올 수 있습니다.

    예를 들어, 작업 ID를 가져오려면 다음과 같이 코드를 작성할 수 있습니다.

    #hostingforum.kr
    php
    
    $client = new GearmanClient();
    
    $client->addServer('localhost', 4730);
    
    
    
    $jobHandle = $client->submitBackgroundJob('my_job_function', 'my_job_data');
    
    $status = $client->doStatus($jobHandle);
    
    
    
    if ($status == GEARMAN_STATUS_WORKLOAD) {
    
        // 작업이 아직 시작되지 않은 경우
    
    } elseif ($status == GEARMAN_STATUS_WORKING) {
    
        // 작업이 진행 중인 경우
    
    } elseif ($status == GEARMAN_STATUS_DONE) {
    
        // 작업이 완료된 경우
    
    } elseif ($status == GEARMAN_STATUS_FAIL) {
    
        // 작업이 실패한 경우
    
    }
    
    
    
    // 작업 ID를 가져오려면 getJobHandle 메서드를 사용합니다.
    
    $jobHandle = $client->getJobHandle();
    
    


    이러한 코드를 통해 작업 ID를 가져올 수 있습니다.

    2025-06-19 20:04

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,291건 / 5 페이지

검색

게시물 검색