1
Gearman 작업의 제한 시간을 설정하려고합니다. 예를 들어, 기어 작업이 30 초 이상 실행되는 것을 원하지 않으며, 작업이 30 초 이상 실행되고 있으면 작업을 중지하고 다음 작업을 시작해야합니다.gearman 작업에 대한 시간 초과 설정 방법
Gearman에서 가능합니까? (나는를 CentOS 6.2에 Gearman을 PHP API를 사용하고) 당신이 찾고있는 무엇
Gearman 작업의 제한 시간을 설정하려고합니다. 예를 들어, 기어 작업이 30 초 이상 실행되는 것을 원하지 않으며, 작업이 30 초 이상 실행되고 있으면 작업을 중지하고 다음 작업을 시작해야합니다.gearman 작업에 대한 시간 초과 설정 방법
Gearman에서 가능합니까? (나는를 CentOS 6.2에 Gearman을 PHP API를 사용하고) 당신이 찾고있는 무엇
여기 GearmanWorker::timeout하는 Good Example
//Set Timeout
$gmworker->setTimeout(5000);
echo "Waiting for job...\n";
// Start working
while (@$gmworker->work() || $gmworker->returnCode() == GEARMAN_TIMEOUT) {
if ($gmworker->returnCode() == GEARMAN_TIMEOUT) {
// Normally one would want to do something useful here ...
continue;
}
if ($gmworker->returnCode() != GEARMAN_SUCCESS) {
// Somthign failed
break;
}
}
이 잘못이다 -의 setTimeout은 어떤 소켓 IO에서 작동, 작업자가 실행할 수 있습니다 원하는 모든 시간. 나는'setTimeout (1000)'다음에'sleep (3)'을 추가하려고 시도했지만,'GEARMAN_TIMEOUT'에서는 끝나지 않습니다. 내가 틀렸다고 증명할 테스트 케이스를 제공해주세요. – Fluffy
@Fluffy worker timeout은'work()'를 호출 할 때 작동하기 시작합니다. 잠자기 전에 아무것도하지 않습니다. – algorhythm