[prev in list] [next in list] [prev in thread] [next in thread]
List: php-doc-cvs
Subject: [DOC-CVS] svn: /phpdoc/en/trunk/reference/gearman/gearmanworker/ wait.xml
From: Alan_Collison <ajcollison () php ! net>
Date: 2009-10-30 14:57:58
Message-ID: svn-ajcollison-1256914678-290077-195891466 () svn ! php ! net
[Download RAW message or body]
ajcollison Fri, 30 Oct 2009 14:57:58 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=290077
Log:
corrected return value; added note that can issue E_WARNING; added example code
Changed paths:
U phpdoc/en/trunk/reference/gearman/gearmanworker/wait.xml
Modified: phpdoc/en/trunk/reference/gearman/gearmanworker/wait.xml
===================================================================
--- phpdoc/en/trunk/reference/gearman/gearmanworker/wait.xml 2009-10-30 14:33:34 UTC \
(rev 290076)
+++ phpdoc/en/trunk/reference/gearman/gearmanworker/wait.xml 2009-10-30 14:57:58 UTC \
(rev 290077) @@ -15,7 +15,8 @@
</methodsynopsis>
<para>
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 <constant>E_WARNING</constant> \
with the last Gearman error + encountered.
</para>
</refsect1>
@@ -27,10 +28,70 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
- A standard Gearman return value.
+ &return.success;
</para>
</refsect1>
+ <refsect1 role="examples">
+ &reftitle.examples;
+ <para>
+ <example>
+ <title>Running worker in non-blocking mode</title>
+ <programlisting role="php">
+<![CDATA[
+<?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());
+}
+
+
+?>
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </refsect1>
+
<refsect1 role="seealso">
&reftitle.seealso;
<para>
--
PHP Documentation Commits Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic