2013-10-18 2 views
1

저는 Gearman의 백그라운드 작업으로 작업하고 있습니다.Gearman 백그라운드 작업 상태 콜백

당신이 http://www.php.net/manual/en/gearmanclient.addtaskstatus.php에서 코드 샘플에서 읽는다면, 당신은 다음과 같은 코멘트를 볼 수 있습니다 : 그 이벤트 콜백이 정확히 무엇인지

/* Poll the server to see when those background jobs finish; */ 
/* a better method would be to use event callbacks */ 

를? 작업이 $ 클라이언트 -> doBackground()에 추가 될 때

$client->setCreatedCallback(function(GearmanTask $task){ 
    }); 
    $client->setExceptionCallback(function(GearmanTask $task){ 
    }); 
    $client->setFailCallback(function(GearmanTask $task){ 
    }); 

하지만 그들 중 누구도 발광하지 :

나는 다음과 같은 노력했다.

감사합니다.

답변

0

백그라운드 작업은 호출 한 클라이언트가 차단을 해제하고 연결이 끊어 지도록 허용하기 때문에 호출됩니다. 그들은 통신 채널을 클라이언트에게 공개하지 않기 때문에 상태 업데이트를받지 못합니다. 백그라운드 작업의 상태를 확인하려면 GearmanClient :: jobStatus를 사용하십시오. herehere을 참조하십시오.

관련 문제