Php/docs/gearmanworker.wait
GearmanWorker::wait
(PECL gearman >= 0.6.0)
GearmanWorker::wait — Wait for activity from one of the job servers
说明
public GearmanWorker::wait ( ) : bool
Causes the worker to wait for activity from one of the Gearman job servers when operating
in non-blocking I/O mode. On failure, issues a E_WARNING
with the last Gearman error
encountered.
参数
此函数没有参数。
返回值
成功时返回 true
, 或者在失败时返回 false
。
范例
Example #1 Running worker in non-blocking mode
<?phpecho "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 jobwhile (@$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());}?>