{ "info": { "author": "Christopher Petrilli", "author_email": "petrilli@amber.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4" ], "description": "================================\r\nTransactional Celery for Pyramid\r\n================================\r\n\r\n.. image:: https://badge.fury.io/py/pyramid_transactional_celery.png\r\n :target: http://badge.fury.io/py/pyramid_transactional_celery\r\n\r\n.. image:: https://travis-ci.org/petrilli/pyramid_transactional_celery.png?branch=master\r\n :target: https://travis-ci.org/petrilli/pyramid_transactional_celery\r\n\r\n.. image:: https://pypip.in/d/pyramid_transactional_celery/badge.png\r\n :target: https://pypi.python.org/pypi/pyramid_transactional_celery\r\n\r\n\r\nA transaction-aware Celery job setup. This is integrated with the Zope\r\ntransaction_ package, which implements a full two-phase commit protocol.\r\nWhile it is not designed for anything other than Pyramid, it also does not\r\nuse any component of Pyramid. It's simply not tested anywhere else.\r\n\r\n* Free software: BSD license\r\n* Documentation: https://pyramid_transactional_celery.readthedocs.org.\r\n\r\n.. _transaction: https://pypi.python.org/pypi/transaction\r\n\r\nFeatures\r\n--------\r\n\r\n* Queues tasks into a thread-local when they are called either using ``delay``\r\n or ``apply_async``.\r\n* If the transaction is aborted, then the tasks will never be called.\r\n* If the transaction is committed, the tasks will go through their normal\r\n ``apply_async`` process and be queued for processing.\r\n\r\n\r\nLimitations\r\n-----------\r\n\r\nCurrently, the code is designed around Celery v3.1, and it is unknown whether\r\nit will work with previous versions. I'm more than happy to integrate changes\r\nthat would make it work with other releases, but since I generally stay on\r\nthe latest release, it isn't a priority for my own development.\r\n\r\n\r\nUsage\r\n-----\r\n\r\nUsing the library is a relatively easy thing to do. First, you'll need to\r\nintegrate Celery into your Pyramid application, for which I recommend using\r\npyramid_celery_. Once that's done, you simply need to start creating your\r\ntasks. The big difference is for function-based tasks, you use a different\r\ndecorator:\r\n\r\n.. code-block:: python\r\n\r\n from pyramid_transactional_celery import task_tm\r\n\r\n @task_tm\r\n def add(x, y):\r\n \"\"\"Add two numbers together.\"\"\"\r\n return x + y\r\n\r\nThat's all there is to it. For class-based tasks, you simply need to\r\nsubclass ``TransactionalTask`` instead of ``Task``:\r\n\r\n.. code-block:: python\r\n\r\n from pyramid_transactional_celery import TransactionalTask\r\n\r\n class SampleTask(TransactionalTask):\r\n \"\"\"A sample task that is transactional.\"\"\"\r\n def run(x, y):\r\n return x + y\r\n\r\nThat's it. Bob's your uncle.\r\n\r\n.. _pyramid_celery: https://pypi.python.org/pypi/pyramid_celery/\r\n\r\n\r\n\r\n\r\nHistory\r\n-------\r\n\r\n0.1.1 (2015-01-19)\r\n------------------\r\n\r\n* Removed an excess creation of a CeleryDataManager that was a left-over from\r\n a previous approach. While this didn't create a bug, it wasted memory.\r\n\r\n\r\n0.1.0 (2015-01-19)\r\n------------------\r\n\r\n* Initial functionality, but more testing of edge cases is needed to ensure\r\n that it works correctly in all cases, and with other versions of Celery.\r\n* First release on PyPI.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/petrilli/pyramid_transactional_celery", "keywords": "pyramid_transactional_celery", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "pyramid_transactional_celery", "package_url": "https://pypi.org/project/pyramid_transactional_celery/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pyramid_transactional_celery/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/petrilli/pyramid_transactional_celery" }, "release_url": "https://pypi.org/project/pyramid_transactional_celery/0.1.1/", "requires_dist": null, "requires_python": null, "summary": "A transaction-aware Celery job setup", "version": "0.1.1" }, "last_serial": 1389536, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "9cce037bcbf28471c88ee21fd8c46825", "sha256": "02ed09cfb42153b58246124bc3346b5989a105a838da498d0c80a55ab3232851" }, "downloads": -1, "filename": "pyramid_transactional_celery-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9cce037bcbf28471c88ee21fd8c46825", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 6090, "upload_time": "2015-01-20T03:58:44", "url": "https://files.pythonhosted.org/packages/b0/9b/0ac36eb5a1e295bf47e0658aeb4213a2fba66bab0221d9ada3cf31e30cd9/pyramid_transactional_celery-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ba54ddd308164caf5ae9b2c7ef58de10", "sha256": "b9ac370221bde2c0f7d1502516d836b797b0e9cc94d1d8292ff4ade6e42d9506" }, "downloads": -1, "filename": "pyramid_transactional_celery-0.1.0.tar.gz", "has_sig": false, "md5_digest": "ba54ddd308164caf5ae9b2c7ef58de10", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13205, "upload_time": "2015-01-20T03:58:41", "url": "https://files.pythonhosted.org/packages/ba/d6/bc52a7db15b0c3f7d28c28a9aa1c2d5a42c8a4077432ffe103d6f8b6f200/pyramid_transactional_celery-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "ff4e1b90c91b8ad3ed1c4e4ba64e4a86", "sha256": "6cfdb911f0f8df52253f9dd5ea58172f034ee942890906aa5ae242eae8e778ae" }, "downloads": -1, "filename": "pyramid_transactional_celery-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ff4e1b90c91b8ad3ed1c4e4ba64e4a86", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 6251, "upload_time": "2015-01-20T04:21:07", "url": "https://files.pythonhosted.org/packages/3b/b1/ee150ddc83da5fa2040baaeb40d2d69b6292409adba8c8d7a98963884880/pyramid_transactional_celery-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5e685feae7166bcfb180ebe1307b0a02", "sha256": "11fdd71932d6784f1f7c23fb905175e2c8d94017d4a7c0a883627a1a4e747234" }, "downloads": -1, "filename": "pyramid_transactional_celery-0.1.1.tar.gz", "has_sig": false, "md5_digest": "5e685feae7166bcfb180ebe1307b0a02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13299, "upload_time": "2015-01-20T04:21:02", "url": "https://files.pythonhosted.org/packages/1c/90/bb1d15b709f91771b183f6ded9cac8c5c9777487f03798ca94e4f7550697/pyramid_transactional_celery-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ff4e1b90c91b8ad3ed1c4e4ba64e4a86", "sha256": "6cfdb911f0f8df52253f9dd5ea58172f034ee942890906aa5ae242eae8e778ae" }, "downloads": -1, "filename": "pyramid_transactional_celery-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ff4e1b90c91b8ad3ed1c4e4ba64e4a86", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 6251, "upload_time": "2015-01-20T04:21:07", "url": "https://files.pythonhosted.org/packages/3b/b1/ee150ddc83da5fa2040baaeb40d2d69b6292409adba8c8d7a98963884880/pyramid_transactional_celery-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5e685feae7166bcfb180ebe1307b0a02", "sha256": "11fdd71932d6784f1f7c23fb905175e2c8d94017d4a7c0a883627a1a4e747234" }, "downloads": -1, "filename": "pyramid_transactional_celery-0.1.1.tar.gz", "has_sig": false, "md5_digest": "5e685feae7166bcfb180ebe1307b0a02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13299, "upload_time": "2015-01-20T04:21:02", "url": "https://files.pythonhosted.org/packages/1c/90/bb1d15b709f91771b183f6ded9cac8c5c9777487f03798ca94e4f7550697/pyramid_transactional_celery-0.1.1.tar.gz" } ] }