PHP
Gearman

GearmanWorker::wait

GearmanWorker::wait

(PECL gearman >= 0.6.0)

GearmanWorker::wait - 等待来自其中一个作业服务器的活动

描述

public bool GearmanWorker::wait ( void )

在非阻塞I/O模式下工作时,导致工作人员等待来自其中一个Gearman作业服务器的活动。失败时,遇到最后一个Gearman错误E_WARNING

参数

该函数没有参数。

返回值

成功时返回TRUE或失败时返回FALSE

示例

示例#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() } ?>

另请参阅

← GearmanWorker::unregisterAll

GearmanWorker::work →