{ "info": { "author": "Mike Chen", "author_email": "yi.chen.it@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "Dyna-Veggie\n===========\n\nDyna-Veggie is the first fully compatible **DynamoDB result backend for\nCelery**. It supports both supports both DynamoDB in AWS and DynamoDB\nLocal. Dyna-Veggie also supports these features out of the box:\n\n- Fully suports **Native join operation** in Celery just like the Redis\n backend, which bring the best performance for canvas operations like\n chord and group.\n- Uses batch get for retrieving large amount of items which provides\n much better performance than sequential gets.\n- Automatically creates the table if not presented\n- Allows customizable options for DynamoDB throttling retry and\n exponential backoff\n- Handles DynamoDB's consistency issue appropriately\n\nInstallation\n============\n\nYou can install Dyna-Veggie either via the Python Package Index (PyPI)\nor from source.\n\nTo install using pip:\n\n.. code:: bash\n\n $ pip install -U dyna-veggie\n\nGet Started\n===========\n\nTo use Dyna-Veggie in your celery project is simple. All you need to do\nis:\n\n1. Install dyna-veggie through pip\n2. Add the following to your celery config file **AT THE BEGINNING**, and **Enjoy!**:\n\n.. code:: python\n\n # celeryconfig.py maybe?\n\n from celery.app.backends import BACKEND_ALIASES\n\n BACKEND_ALIASES['dynamodb'] = 'dyna_veggie.DynamoDBBackend'\n # access_key - your aws account's access key, encoded\n # secret_key - your aws account's secret key, encoded\n # region - AWS region your DynamoDB table's in\n # table - Optional. DynamoDB table for storing results. Default to celery\n # port - Optional unless you use DynamoDBLocal\n # read_throughput - Optional. Default to 5\n # write_throughput - Optional. Default to 5\n # retry_if_throttled - Optional. Default to True\n # consistency_wait_time - Optional. Seconds to wait for data consistency. Default to 1\n result_backend = 'dynamodb://encoded_aws_access_key_id:encoded_aws_secret_access_key@region:port/table?read_throughput=n&write_throughput=m'\n \n\nSettings\n--------\n\naccess\\_key & secret\\_key\n~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe credentials for accessing AWS API resources. These can also be\nresolved by the `boto3 `__\nlibrary from various sources, as described\n`here `__.\n\nregion\n~~~~~~\n\nThe AWS region, e.g. us-east-1 or **local** for DynamoDB Local. See the\n`boto3 `__ library\ndocumentation for definition options.\n\nport\n~~~~\n\nThe listening port of the local DynamoDB instance, if you are using the\nDynamoDB Local. If you have not specified the region parameter as\n**local**, setting this parameter has no effect.\n\ntable\n~~~~~\n\nTable name to use. Default is celery. See the DynamoDB Naming Rules for\ninformation on the allowed characters and length.\n\nread\\_throughput & write\\_throughput\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe Read & Write Capacity Units for the created DynamoDB table. Default\nis 5 for both read and write. More details can be found in the\n`Provisioned Throughput\ndocumentation `__.\n\nretry\\_if\\_throttled\n~~~~~~~~~~~~~~~~~~~~\n\nWhether to retry is the throttling exception is raised. Exponential\nbackoff is used in the retry operations. More parameters for the\nexponential backoff behavior will be allowed to be customized in future\nversion. Default to True.\n\nconsistency\\_wait\\_time\n~~~~~~~~~~~~~~~~~~~~~~~\n\nSeconds to wait for data to become consistent before the backend thinks\nthe data is not available. Why do we need this? Because of network\nlatency and `read\nconsistency `__.\nWhy can't we just set ConsistentRead to True? Because the get request\nhas the potential to reach to DynamoDB faster than a set request reaches\nit, if the set and get requests are issued on different\nmachines/processes. Thus the only way to ensure we can get item in a\ndistributed setting is to retry. Default to 1, because typically 1\nsecond is enough for the data to present.\n\nLicense\n=======\n\nApache License, Version 2.0\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/chensjlv/dyna-veggie/tarball/0.3.6", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/chensjlv/dyna-veggie", "keywords": "Celery", "license": "", "maintainer": "", "maintainer_email": "", "name": "dyna-veggie", "package_url": "https://pypi.org/project/dyna-veggie/", "platform": "", "project_url": "https://pypi.org/project/dyna-veggie/", "project_urls": { "Download": "https://github.com/chensjlv/dyna-veggie/tarball/0.3.6", "Homepage": "https://github.com/chensjlv/dyna-veggie" }, "release_url": "https://pypi.org/project/dyna-veggie/0.3.7/", "requires_dist": null, "requires_python": "", "summary": "Fully compatible DynamoDB result backend for Celery", "version": "0.3.7" }, "last_serial": 3082789, "releases": { "0.3.6": [ { "comment_text": "", "digests": { "md5": "9c9113aaf29a6175fc1f893a92336c7f", "sha256": "ab0e06ce4c120674ce69b4d5b27e9274a11807f65015472ff5323c9821ca1bf8" }, "downloads": -1, "filename": "dyna-veggie-0.3.6.tar.gz", "has_sig": false, "md5_digest": "9c9113aaf29a6175fc1f893a92336c7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5556, "upload_time": "2017-08-08T23:02:06", "url": "https://files.pythonhosted.org/packages/00/67/f674b0f8828f192c20e60cade69c61fe2480332f7f233bdb557736d15316/dyna-veggie-0.3.6.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "db34fd0ab6602b49e0704d5542e2b5ca", "sha256": "d8c6d6c824fc435a879b9676bf5b4c55cb360dad5ab33e776d59f15ec35283f1" }, "downloads": -1, "filename": "dyna-veggie-0.3.7.tar.gz", "has_sig": false, "md5_digest": "db34fd0ab6602b49e0704d5542e2b5ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5567, "upload_time": "2017-08-09T00:07:42", "url": "https://files.pythonhosted.org/packages/95/26/a09de67f2cd6260f2267f9002a3b9d15db5fd41959ea6e6f33ef91b30b0f/dyna-veggie-0.3.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "db34fd0ab6602b49e0704d5542e2b5ca", "sha256": "d8c6d6c824fc435a879b9676bf5b4c55cb360dad5ab33e776d59f15ec35283f1" }, "downloads": -1, "filename": "dyna-veggie-0.3.7.tar.gz", "has_sig": false, "md5_digest": "db34fd0ab6602b49e0704d5542e2b5ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5567, "upload_time": "2017-08-09T00:07:42", "url": "https://files.pythonhosted.org/packages/95/26/a09de67f2cd6260f2267f9002a3b9d15db5fd41959ea6e6f33ef91b30b0f/dyna-veggie-0.3.7.tar.gz" } ] }