Gearman GearmanWorker::wait

(PECL gearman >= 0.6.0)

GearmanWorker::wait — 작업 서버 중 하나의 활동을 기다립니다.


설명

public GearmanWorker::wait(): bool

비차단 I/O 모드에서 작동할 때 작업자가 Gearman 작업 서버 중 하나의 활동을 기다리게 합니다. 실패 시 마지막 Gearman 오류가 발생한 E_WARNING을 발행합니다.


매개변수

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


반환 값

성공하면 true를, 실패하면 false를 반환합니다.


Examples

예제 #1 비차단 모드에서 작업자 실행

                  
<?php

echo "Starting\n";

# Create our worker object
$worker= new GearmanWorker();

# Make the worker non-blocking
$worker->addOptions(GEARMAN_WORKER_NON_BLOCKING);

# Add the default server (localhost, port 4730)
$worker->addServer();

# Add our reverse function
$worker->addFunction('reverse', 'reverse_fn');

# Try to grab a job
while (@$worker->work() ||
       $worker->returnCode() == GEARMAN_IO_WAIT ||
       $worker->returnCode() == GEARMAN_NO_JOBS)
{
  if ($worker->returnCode() == GEARMAN_SUCCESS)
    continue;

  echo "Waiting for next job...\n";
  if (!@$worker->wait())
  {
    if ($worker->returnCode() == GEARMAN_NO_ACTIVE_FDS)
    {
      # We are not connected to any servers, so wait a bit before
      # trying to reconnect.
      sleep(5);
      continue;
    }
    break;
  }
}

echo "Worker Error: " . $worker->error() . "\n";

function reverse_fn($job)
{
  return strrev($job->workload());
}


?>
                  
                

기타