E-Deposit's AMQP definitions and common classes/patterns.
This module contains common parts shared with other AMQP modules from Edeposit project. Main purpose is to provide configuration data to AMQP server and generic daemons, to run the modules.
pip install edeposit.amqp
Full module documentation is hosted at ReadTheDocs: http://edeposit-amqp.readthedocs.org
Content can be divided between generic modules to support AMQP communication and scripts, which provides ability to test and tweak AMQP communication.
Scripts should be automatically installed to your $PATH.
Daemon providing AMQP communication with the edeposit.amqp.aleph module.
Daemon providing AMQP communication with the edeposit.amqp.calibre module.
Script for testing the communication and creating exchanges/queues/routes in RabbitMQ.
Configuration for RabbitMQ server and E-deposit client modules connecting into it.
Class for spawning Unix daemons.
Generic AMQP blocking communication daemon server.
pytest is used to test the code. You can find the tests in edeposit/amqp/tests directory.
Tests can be invoked by running ./run_tests.sh script:
$ ./run_tests.sh -a ============================= test session starts ============================== platform linux2 -- Python 2.7.5 -- py-1.4.20 -- pytest-2.5.2 collected 8 items edeposit/amqp/tests/test_daemon.txt . edeposit/amqp/tests/integration/test_aleph.py started with pid 18108 sending response result ..No handlers could be found for logger "pika.adapters.base_connection" edeposit/amqp/tests/integration/test_daemons.py . edeposit/amqp/tests/integration/test_package.py .. edeposit/amqp/tests/unittests/test_settings.py .. ========================== 8 passed in 14.43 seconds ===========================
- Scripts moved to /bin directory. They will be put to $PATH when package is installed, so users won’t need too call them with full path.
- Added bindings to edeposit.amqp.ftp.
- Documentation improved.
- Added new amqp tool.
- Tests migrated to pytest.
- Fixed some bugs.
1.3.0 - 1.3.3
- Added tracebacks to the headers, if the exception is thrown.
- RABBITMQ_ALEPH_DAEMON_QUEUE renamed to RABBITMQ_ALEPH_INPUT_QUEUE
- RABBITMQ_ALEPH_PLONE_QUEUE renamed to RABBITMQ_ALEPH_OUTPUT_QUEUE
- RABBITMQ_ALEPH_DAEMON_KEY renamed to RABBITMQ_ALEPH_INPUT_KEY.
- RABBITMQ_ALEPH_PLONE_KEY renamed to RABBITMQ_ALEPH_OUTPUT_KEY.
- Unicode added to allowed types in settings.py.
- Added dependency to edeposit.amqp.calibre.
- Version of package and documentation is now automatically parsed from this file.
- Images in documentation were downloaded to _static.
- Changed internal way of handling AMQP communication. This shouldn’t change user API.
- Documentation updated to reflect changes in internal API. Added UML diagrams.
1.2.0 - 1.2.2
- Documentation updated. Added intersphinx links to edeposit.amqp.serializers.
- edeposit.amqp.serializers API changed, so this module needed to be adjusted.
- Serialization is now handled (but not stored) in this module, instead of aleph. It will be used in other modules too.
- Added dependency to edeposit.amqp.serializers.
1.1.5 - 1.1.6
- Documentation is now even for settings.py’s attributes.
- User defined JSON configuration is now supported.
- Added autogeneration of documentation to the package generator (setup.py).
- Project released at PYPI
- alephdaemon is working correctly, other classes are in release state too