<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Thu, 20 Jun 2013 07:02:50 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Brandon Savage: Consuming RabbitMQ messages with PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/19653</guid>
      <link>http://www.phpdeveloper.org/news/19653</link>
      <description><![CDATA[<p>
<i>Brandon Savage</i> continues his look at using RabbitMQ and PHP together to queue up requests today in <a href="http://www.brandonsavage.net/consuming-rabbitmq-messages-with-php">this latest post</a>. In this new part of the series, he focuses on the last piece of the puzzle - consuming the requests in the queue. (Parts <a href="http://phpdeveloper.org/news/19640">one</a> and <a href="http://phpdeveloper.org/news/19649">two</a>)
</p>
<blockquote>
Once you've <a href="http://www.brandonsavage.net/publishing-messages-to-rabbitmq-with-php/">created a RabbitMQ producer</a>, it's fairly easy to create a consumer. In fact, the only difference is in exactly what commands you're using. The connection, envelope, channel and queue declarations are the same. While in RabbitMQ you publish to the exchange, you actually do consume a specific queue. As a result, the commands for consuming are part of the <a href="http://www.php.net/manual/en/class.amqpqueue.php">AMQPQueue</a> class.
</blockquote>
<p>
He shows you how to set up the code to sit in the background and wait for a queue request and how to fetch them in a non-blocking way. He finishes off the post with a look at handling success and error conditions (based on the status of message consumption, not the result of the processing).
</p>
Link: http://www.brandonsavage.net/consuming-rabbitmq-messages-with-php]]></description>
      <pubDate>Fri, 31 May 2013 09:15:47 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Rob Young's Blog: Non-blocking I/O With PHP-MIO]]></title>
      <guid>http://www.phpdeveloper.org/news/7693</guid>
      <link>http://www.phpdeveloper.org/news/7693</link>
      <description><![CDATA[<p>
Via the <a href="http://devzone.zend.com/node/view/id/1956">Zend Developer Zone</a>, I found out about <a href="http://thethoughtlab.blogspot.com/2007/04/non-blocking-io-with-php-mio.html">this new article</a> from <i>Rob Young</i> about using <a href="http://sourceforge.net/projects/phpmio">PHP-MIO</a> to create non-blocking I/O.
</p>
<blockquote>
<p>
A couple of weeks ago I was thinking about non-blocking I/O in PHP, specifically about how clunky PHP's select implementation is. I say clunky because it's not bad, it's just not as easy to use as it could be. 
</p>
<p>
[...] I have to remember which streams I'm interested in writing to, which streams I'm interested in reading from and when I get to accepting connections, which streams are server sockets that I'm interested in accepting connections on. I'm lazy, I don't want to have to do that , I want a library to handle all that for me. At this point I decided to implement something similar to Java's non-blocking I/O in PHP5. This is now finished and up on sourceforce (under the name of phpmio). In this article I hope to give you enough information to get up and running with the package.
</p>
</blockquote>
<p>
He <a href="http://thethoughtlab.blogspot.com/2007/04/non-blocking-io-with-php-mio.html">explains</a> what multiplexed I/O is (including code), what PHP-MIO is (yes, including code), and a more real life example of how to use it - a simple server that accepts connections and spits back a simple response.
</p>]]></description>
      <pubDate>Tue, 24 Apr 2007 10:54:00 -0500</pubDate>
    </item>
  </channel>
</rss>
