<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<font face="Arial, sans-serif" size="3">
<div>&nbsp;</div>
<div><font size="2">Hi</font></div>
<div><font size="2">&nbsp;</font></div>
<div><font size="2">We are using Rabbit 2.8.5 and Pika 0.9.5 to process rabbit-queue from python.</font></div>
<div><font size="2">&nbsp;</font></div>
<div><font size="2">If I am doing a 'rabbitctrl stop' to stop Rabbit Server, my python script hangs, and get uninteruptable.</font></div>
<div><font size="2">&nbsp;</font></div>
<div><font size="2">This is the console output I get when I stop the Rabbit Server</font></div>
<div><font size="2">&nbsp;</font></div>
<div><font face="Courier New, monospace" size="2">Traceback (most recent call last):</font></div>
<div><font face="Courier New, monospace" size="2">&nbsp; File &quot;.../pycims/queue.py&quot;, line 87, in start_consuming</font></div>
<div><font face="Courier New, monospace" size="2">&nbsp;&nbsp;&nbsp; connection.ioloop.start()</font></div>
<div><font face="Courier New, monospace" size="2">&nbsp; File &quot;.../pika/adapters/select_connection.py&quot;, line 124, in start</font></div>
<div><font face="Courier New, monospace" size="2">&nbsp;&nbsp;&nbsp; self.poller.start()</font></div>
<div><font face="Courier New, monospace" size="2">&nbsp; File &quot;.../pika/adapters/select_connection.py&quot;, line 374, in start</font></div>
<div><font face="Courier New, monospace" size="2">&nbsp;&nbsp;&nbsp; self.poll()</font></div>
<div><font face="Courier New, monospace" size="2">&nbsp; File &quot;.../pika/adapters/select_connection.py&quot;, line 388, in poll</font></div>
<div><font face="Courier New, monospace" size="2">&nbsp;&nbsp;&nbsp; self._handler(events[0][0], events[0][1])</font></div>
<div><font face="Courier New, monospace" size="2">&nbsp; File &quot;.../pika/adapters/base_connection.py&quot;, line 137, in _handle_events</font></div>
<div><font face="Courier New, monospace" size="2">&nbsp;&nbsp;&nbsp; self._handle_error(error)</font></div>
<div><font face="Courier New, monospace" size="2">&nbsp; File &quot;.../pika/adapters/base_connection.py&quot;, line 106, in _handle_error</font></div>
<div><font face="Courier New, monospace" size="2">&nbsp;&nbsp;&nbsp; error_code = error[0]&nbsp; # Python &lt;= 2.5</font></div>
<div><font face="Courier New, monospace" size="2">TypeError: 'NoneType' object is not subscriptable</font></div>
<div><font face="Courier New, monospace" size="2">&nbsp;</font></div>
<div><font size="2">This is the code; (I am expecting an Exception to be thrown on line 93, so I can handle the situation.) What am I doing wrong?</font></div>
<div><font size="2">&nbsp;</font></div>
<div><font face="Consolas" size="2">86<font face="Consolas">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font face="Consolas" color="#0000FF">try</font><font face="Consolas">:</font></font></div>
<div><font face="Consolas" size="2">87<font face="Consolas">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; connection.ioloop.start()</font></font></div>
<div><font face="Consolas" size="2">88<font face="Consolas">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font face="Consolas" color="#0000FF">except</font><font face="Consolas"> KeyboardInterrupt:</font></font></div>
<div><font face="Consolas" size="2">89<font face="Consolas">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font face="Consolas"><i>self</i></font><font face="Consolas">.stop_consuming()</font></font></div>
<div><font face="Consolas" size="2">90<font face="Consolas">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; connection.ioloop.stop()</font></font></div>
<div><font face="Consolas" size="2">91<font face="Consolas">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; connection.close()</font></font></div>
<div><font face="Consolas" size="2">92<font face="Consolas">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font face="Consolas" color="#0000FF">raise</font></font></div>
<div><font face="Consolas" size="2">93<font face="Consolas">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font face="Consolas" color="#0000FF">except</font><font face="Consolas"> Exception, e:</font></font></div>
<div><font face="Consolas" size="2">94<font face="Consolas">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font>print <font face="Consolas" color="#00AA00"><i>'Exception %s'</i></font><font face="Consolas"> % str(e)</font></font></div>
<div><font face="Consolas" size="2">95<font face="Consolas">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font face="Consolas" color="#0000FF">raise</font></font></div>
<div><font face="Consolas" size="2">&nbsp;</font></div>
<div><font face="Consolas" size="2">Thanks,</font></div>
<div><font face="Consolas" size="2"> David</font></div>
<div><font size="2">&nbsp;</font></div>
</font>
</body>
</html>