diff --git a/reference/gearman/gearmanworker/wait.xml b/reference/gearman/gearmanworker/wait.xml
index f3d2ad9ab5..e32f2dc2e4 100644
--- a/reference/gearman/gearmanworker/wait.xml
+++ b/reference/gearman/gearmanworker/wait.xml
@@ -15,7 +15,8 @@
Causes the worker to wait for activity from one of the Gearman job servers when operating
- in non-blocking I/O mode.
+ in non-blocking I/O mode. On failure, issues a E_WARNING with the last Gearman error
+ encountered.
@@ -27,7 +28,67 @@
&reftitle.returnvalues;
- A standard Gearman return value.
+ &return.success;
+
+
+
+
+ &reftitle.examples;
+
+
+ Running worker in non-blocking mode
+
+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());
+}
+
+
+?>
+]]>
+
+