Skip to content

Instantly share code, notes, and snippets.

@ask
Last active December 10, 2015 18:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ask/4476517 to your computer and use it in GitHub Desktop.
Save ask/4476517 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
import logging
from pika import BlockingConnection, ConnectionParameters
if __name__ == '__main__':
logging.basicConfig(level=logging.INFO)
# setting up rabbitmq pubsub
with BlockingConnection(ConnectionParameters('localhost')) as rabbit_conn:
with rabbit_conn.channel() as rabbit_chan:
rabbit_channel.queue_declare(queue="my_queue")
def message_callback(ch, method, properties, body):
logging.info("Got message '%s'" % body)
rabbit_channel.basic_consume(message_callback, queue="my_queue", no_ack=True)
# listen for items
logging.info("Listen for items ...")
rabbit_channel.start_consuming()
$ python a_rabbitmq_test.py
INFO:pika.adapters.base_connection:Connecting fd 3 to localhost:5672
INFO:pika.adapters.blocking_connection:Adapter connected
INFO:root:Listen for items ...
^CINFO:pika.channel:Channel.close(None, None)
WARNING:pika.adapters.blocking_connection:Disconnected from RabbitMQ at localhost:5672 (504): CHANNEL_ERROR - expected 'channel.open'
WARNING:pika.adapters.base_connection:Unknown state on disconnect: 0
WARNING:pika.adapters.blocking_connection:Received Channel.Close, closing: <METHOD(['frame_type=1', 'channel_number=0', 'method=<Connection.Close([\'class_id=20\', \'method_id=40\', \'reply_code=504\', "reply_text=CHANNEL_ERROR - expected \'channel.open\'"])>'])>
ERROR:pika.adapters.base_connection:Socket is closed
WARNING:pika.adapters.blocking_connection:Received Channel.Close, closing: None
Traceback (most recent call last):
File "a_rabbitmq_test.py", line 33, in <module>
rabbit_channel.start_consuming()
File "/home/max/.virtualenvs/IS/local/lib/python2.7/site-packages/pika/adapters/blocking_connection.py", line 722, in start_consuming
self.connection.process_data_events()
File "/home/max/.virtualenvs/IS/local/lib/python2.7/site-packages/pika/adapters/blocking_connection.py", line 88, in process_data_events
if self._handle_read():
File "/home/max/.virtualenvs/IS/local/lib/python2.7/site-packages/pika/adapters/blocking_connection.py", line 184, in _handle_read
super(BlockingConnection, self)._handle_read()
File "/home/max/.virtualenvs/IS/local/lib/python2.7/site-packages/pika/adapters/base_connection.py", line 296, in _handle_read
data = self.socket.recv(self._buffer_size)
File "a_rabbitmq_test.py", line 20, in handler
rabbit_channel.close()
File "/home/max/.virtualenvs/IS/local/lib/python2.7/site-packages/pika/channel.py", line 373, in close
self._shutdown()
File "/home/max/.virtualenvs/IS/local/lib/python2.7/site-packages/pika/adapters/blocking_connection.py", line 937, in _shutdown
[spec.Channel.CloseOk])
File "/home/max/.virtualenvs/IS/local/lib/python2.7/site-packages/pika/adapters/blocking_connection.py", line 904, in _rpc
self.connection.process_data_events()
File "/home/max/.virtualenvs/IS/local/lib/python2.7/site-packages/pika/adapters/blocking_connection.py", line 88, in process_data_events
if self._handle_read():
File "/home/max/.virtualenvs/IS/local/lib/python2.7/site-packages/pika/adapters/blocking_connection.py", line 184, in _handle_read
super(BlockingConnection, self)._handle_read()
File "/home/max/.virtualenvs/IS/local/lib/python2.7/site-packages/pika/adapters/base_connection.py", line 300, in _handle_read
return self._handle_error(error)
File "/home/max/.virtualenvs/IS/local/lib/python2.7/site-packages/pika/adapters/base_connection.py", line 264, in _handle_error
self._handle_disconnect()
File "/home/max/.virtualenvs/IS/local/lib/python2.7/site-packages/pika/adapters/blocking_connection.py", line 181, in _handle_disconnect
self._on_connection_closed(None, True)
File "/home/max/.virtualenvs/IS/local/lib/python2.7/site-packages/pika/adapters/blocking_connection.py", line 232, in _on_connection_closed
self._channels[channel]._on_close(method_frame)
File "/home/max/.virtualenvs/IS/local/lib/python2.7/site-packages/pika/adapters/blocking_connection.py", line 817, in _on_close
self._send_method(spec.Channel.CloseOk(), None, False)
File "/home/max/.virtualenvs/IS/local/lib/python2.7/site-packages/pika/adapters/blocking_connection.py", line 920, in _send_method
self.connection.send_method(self.channel_number, method_frame, content)
File "/home/max/.virtualenvs/IS/local/lib/python2.7/site-packages/pika/adapters/blocking_connection.py", line 120, in send_method
self._send_method(channel_number, method_frame, content)
File "/home/max/.virtualenvs/IS/local/lib/python2.7/site-packages/pika/connection.py", line 1331, in _send_method
self._send_frame(frame.Method(channel_number, method_frame))
File "/home/max/.virtualenvs/IS/local/lib/python2.7/site-packages/pika/adapters/blocking_connection.py", line 245, in _send_frame
super(BlockingConnection, self)._send_frame(frame_value)
File "/home/max/.virtualenvs/IS/local/lib/python2.7/site-packages/pika/connection.py", line 1312, in _send_frame
raise exceptions.ConnectionClosed
pika.exceptions.ConnectionClosed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment