Commits

Show all
Author Commit Message Labels Comments Date
bar...@macbook.home
Update comments and versions to show 0.5
Tags
0.5
bar...@macbook.home
After reading http://www.myelin.co.nz/post/2008/8/4/#200808042 , was inspired to do some profiling to see if there were any bottlenecks, and found a huge one due to misuse of hasattr, that caused about 100x times too many calls to __getattr__ in the GenericContent class.
bar...@octane.med.und.nodak.edu
Oops, last commit wasn't right, failed a unittest I thought I had run and passed.
bar...@host-42-60-230-24.midco.net
Ran pylint, found some things that could be better.
bar...@macbook.home
When being redirected, suppress any exceptions caused if we can't close the old connection cleanly.
bar...@octane.med.und.nodak.edu
Get rid of conditional expressions, which are only supported in Python 2.5 or higher. Thanks to Alexey Timanovsky for pointing this out.
bar...@macbook.home
Bump the version number because some significant changes were made.
bar...@macbook.home
Make use of the standard Python logging module to control debugging output.
bar...@macbook.home
Work on untangling the mess at the heart of amqplib, in how frames/methods/messages are waited for and dispatched. Got the inspiration from how Erlang's process mailboxes work after reading Joe Armstrong's "Programming Erlang" book.
bar...@octane.med.und.nodak.edu
Minor typo fixes and improvements to overview documentation.
bar...@macbook.home
Try to eliminate common code between the Connection and NonBlockingConnection classes - by waiting until after the connection is made before putting the socket into non-blocking mode. Added an optional connect_timeout parameter to the Connection class constructor, to simulate somewhat what NonBlockingConnection could do.
bar...@macbook.home
Minor streamlining and PEP-8 style changes for consistency with other modules.
bar...@macbook.home
Added non-blocking client and demo, from Dmitriy Samovskiy <dmitriy.samovskiy@cohesiveft.com>: ----------------------- We put together an add-on for py-amqplib that implements AMQP client with non-blocking sockets (see NonBlockingConnection class and nbloop() function in nbclient_0_8.py). nbdemo_receive.py is a demo script, and nbclient.zip includes both nbclient_0_8.py and nbdemo_receive.py. There are at least 2 scenarios where non-blocking sockets help, and both are applicable to consumers: 1) when you wan…
bar...@macbook.home
Added tag 0.3 for changeset f784f2d5d1bb
bar...@macbook.home
Update version numbers for a new release.
Tags
0.3
bar...@octane.med.und.nodak.edu
Document the 'callback' parameter in basic_consume(), deal with that method being called with no callback argument by quietly consuming the messages.
bar...@macbook.home
Update skeleton generator to pull even more text out of the spec file to put into Python docstrings. Also make better use of textwrap module to rewrap the docstrings to keep line length down. Update client library to use the improved docstrings from the skeleton. Previously I had wrapped long lines by hand, but that's now automatic. Most of the changed lines are just because of the different wrapping.
bar...@macbook.home
Extract some more useful documentation from the spec file.
bar...@octane.med.und.nodak.edu
Bump the version number in setup.py to match what's in the client module itself.
bar...@octane.med.und.nodak.edu
Found that several methods can take an empty queue name, indicating the last queue declared, and some can take an empty exhange name meaning a default direct queue that's supposed to exist on the AMQP server and is bound to each declared queue automatically. Update several method signatures to take advantage of this. Unfortunately the order of args in Channel.queue_bind() prevents setting a default value for the 'queue' parameter, but it can still be passed '' explicitly, to indicate the last queue declared. Add a unittest that exercises these features.
bar...@octane.med.und.nodak.edu
Document the latest changes in the CHANGES file.
bar...@octane.med.und.nodak.edu
Merge in improved docstrings, including lots of info on the semantics of methods and parameters that was present in the spec file.
bar...@octane.med.und.nodak.edu
Include information about method parameters (fields) in the generated docstrings.
bar...@octane.med.und.nodak.edu
Improve docstring generation by including contents of <rule>..</rule> elements from the AMQP spec.
bar...@macbook.home
Added a CHANGES file.
bar...@macbook.home
Added tag 0.2 for changeset 529583811275
bar...@macbook.home
Bump the version number in setup.py, oops.
Tags
0.2
bar...@macbook.home
Add a test utility to simulate an AMQP server that redirects connections to another AMQP server. Made one small change to the client_0_8 module to make redirecting work cleanly. The test_client_0_8 module passes when pointed at this fake AMQP server that redirects to a real server. Bumped the library_version because of the change to exchange_declare and queue_declare making the auto_delete parameter default to True.
bar...@macbook.home
Change the exchange_declare and queue_declare auto_delete parameters to default to True. I found that declaring a queue and binding it to an active exchange, and forgetting to delete it is a good way to get RabbitMQ to start consuming huge amounts of memory. If you've created a queue with an automatically assigned name and didn't see what it was, you have to dig into erlang to find out what it was before you can remove it. exchange_declare isn't as big a problem, but that's been changed too for consistency. This new defaults should be safer for casual experimentation - if a user wants to keep a queue or exchange around, they should explicitly say so.
bar...@macbook.home
Add code for dealing with a redirection when connecting to a server. Need to find a way to actually test it, but at least it doesn't interfere with a normal non-redirected connection.
  1. Prev
  2. Next