라이브러리
[PHP] GearmanWorker::wait - 작업 서버 중 하나에서 활동을 기다립니다.
GearmanWorker::wait는 GearmanWorker 클래스의 메소드 중 하나로, 작업을 대기하는 메소드입니다. 이 메소드는 작업이 할당되기를 기다리며, 할당된 작업이 있으면 작업을 처리하고, 없으면 다시 대기합니다.
GearmanWorker::wait의 사용법
GearmanWorker::wait 메소드는 다음과 같은 형식으로 사용할 수 있습니다.
#hostingforum.kr
php
$worker = new GearmanWorker();
$worker->addServer('localhost', 4730);
$worker->background();
$worker->wait();
예제
다음 예제는 GearmanWorker::wait 메소드를 사용하여 작업을 대기하는 예제입니다.
#hostingforum.kr
php
<?php
// GearmanWorker 인스턴스 생성
$worker = new GearmanWorker();
// 서버 추가
$worker->addServer('localhost', 4730);
// 백그라운드 모드 설정
$worker->background();
// 작업 대기
while (true) {
$worker->wait();
// 할당된 작업이 있으면 처리
if ($worker->returnCode() == GEARMAN_WORKER_IDLE) {
// 할당된 작업이 없을 때 대기
} elseif ($worker->returnCode() == GEARMAN_WORKER_TIMEOUT) {
// 타임아웃 발생
} else {
// 작업 처리
$job = $worker->job();
$job->setWorkload('Hello, World!');
$job->sendWorkload();
$job->receiveResults();
echo "Received result: " . $job->getResult() . "
";
}
}
?>
예제 설명
이 예제는 GearmanWorker::wait 메소드를 사용하여 작업을 대기하는 예제입니다. 작업이 할당되면, 작업을 처리하고 결과를 출력합니다. 작업이 할당되지 않으면, 다시 대기합니다.
GearmanWorker::wait의 반환값
GearmanWorker::wait 메소드는 다음과 같은 반환값을 가집니다.
* GEARMAN_WORKER_IDLE: 할당된 작업이 없을 때 반환
* GEARMAN_WORKER_TIMEOUT: 타임아웃 발생할 때 반환
* GEARMAN_WORKER_ERROR: 오류 발생할 때 반환
GearmanWorker::wait의 사용 시 주의사항
GearmanWorker::wait 메소드는 작업을 대기하는 메소드이므로, 작업이 할당되지 않으면 무한대기 상태가 될 수 있습니다. 따라서, 작업이 할당되지 않으면 다시 대기하는 로직을 구현해야 합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.