Мне нужно создать проект с веб-интерфейсом для управления синхронным выполнением задач (ala fabric), асинхронными задачами (AMQP) и длинным опросом / ajax для табличного просмотра результатов и очередей / больших, часто меняющихся наборов данных ( думаю tail -f syslog
). У меня есть существующая кодовая база Python для многих специфических для реализации вещей.
После просмотра множества существующих фреймворков, очевидным ответом кажется Django + Celery. Однако я не хочу "изучать Django", и при этом мне не нужно 95% его функциональности. Мне просто нужна простая аутентификация, может быть, будет полезна sqlalchemy, easy ajax, amqp, xmlrpc.
Я бы рассмотрел использование Mongrel2, но у меня есть сильное предпочтение RabbitMQ, а не 0MQ (по нескольким причинам, связанным с реализацией).
Изначально я потратил много времени на изучение Twisted и в итоге получил несколько сотен полезных LOC, но обнаружил, что слишком много искажал код моей платформы, чтобы соответствовать его модели обратного вызова. На самом деле он очень хорошо «отвечал всем требованиям» (за исключением собственной реализации amqp), но это было так расстраивающе, и я прошел через столько итераций кода (по одной на каждый «поворотный момент»), что он вышел на 100%.
Может кто-нибудь помочь мне пройти через болото? Торнадо? Пилоны? отдавать? Пирамида? Колба? Бутылка? CherryPy? Web2py? Пастер / WebOb? Все остальное @ http://wiki.python.org/moin/WebFrameworks?
Edit:
Чтобы было ясно, интеграция с RabbitMQ (или другим провайдером amqp) имеет первостепенное значение и действительно является проблемой.