I need to create a project with a website interface for managing synchronized task execution (ala fabric), asynchronous tasks (AMQP) and long-poll / ajax for tabular viewing results and queues / large, frequently changing data sets (think tail -f syslog). I have an existing Python codebase for many implementation-specific materials.
Looking at a bunch of existing frameworks, the obvious answer is Django + Celery. However, I don't want to “learn Django”, and I don't need 95% of its functionality. I just need simple authentication, maybe sqlalchemy, simple ajax, amqp, xmlrpc. It would be helpful.
I would think of using Mongrel2, but I have a strong preference for RabbitMQ over 0MQ (for several reasons related to the particular implementation).
I initially spent a lot of time learning Twisted and ended up with several hundred useful LOCs, but I found that I had too much (lol) distorted my platform code to fit its callback model. It really “matches the score” is very good (except for its own implementation of amqp), but it was so unpleasant, and I went through so many iterations of code (one for each "twisted moment of aha"), which is 100%.
Can someone please help me get through the swamp? Tornado? <stroke> Pylons? repoze? Pyramid? Flask? Bottle? CherryPy? Web2py? Pasteur / WebOb? Anything else @ http://wiki.python.org/moin/WebFrameworks ?
Edit:
To be clear, integration with RabbitMQ (or another amqp provider) is of utmost importance and is actually a major issue.
source
share