[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