{ "info": { "author": "Vincent", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "# Redistock\nA simple and easy-to-use and cluster-supported distributed lock implement based on Redis and Python.\n\n## Installation\n```bash\npip install redistock\n```\n\n## Usage\n\nSimple usage:\n```python\nimport redis\nfrom redistock import Redistock\n\nredis_conn = redis.StrictRedis(...)\n\n# simple\nlock = Redistock(redis_conn, 'name')\nif lock.acquire():\n print('Obtained lock')\nlock.release()\n\n# with statement\nwith Redistock(redis_conn, 'name'):\n print('Obtained lock')\n\n```\n\nAdvanced usage:\n```python\nimport redis\nfrom redistock import Redistock\nfrom redistock import RedistockNotObtained\n\nredis_conn = redis.StrictRedis(...)\n\n\nwith Redistock(redis_conn, 'name', ttl=1):\n # will be blocked for 1 seconds\n print('Obtained lock')\n\n\nwith Redistock(redis_conn, 'name', ttl=0.001):\n # will be blocked for 1 milliseconds\n print('Obtained lock')\n\n\nwith Redistock(redis_conn, 'name', delay=1):\n # will delay 1 seconds between twice retry, default 0.001\n print('Obtained lock')\n\n\nlock = Redistock(redis_conn, 'name', block=False)\n# do not retry, raise RedistockNotObtained if not obtained lock\nif lock.acquire():\n print('Obtained lock')\nlock.release()\n\n\ntry:\n with Redistock(redis_conn, 'name', timeout=10):\n # will try to acquire for 10 seconds, success or raise RedistockNotObtained\n # after 10 seconds\n print('Obtained lock')\nexcept RedistockNotObtained:\n print('Not obtained lock')\n\n```\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/VinceWg/redistock", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "redistock", "package_url": "https://pypi.org/project/redistock/", "platform": "", "project_url": "https://pypi.org/project/redistock/", "project_urls": { "Homepage": "https://github.com/VinceWg/redistock" }, "release_url": "https://pypi.org/project/redistock/0.1.3/", "requires_dist": [ "redis" ], "requires_python": "", "summary": "A cluster-supported distributed lock on Redis and Python", "version": "0.1.3" }, "last_serial": 5543920, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "47f0ff12dd752625f80c1cb8ffe5053d", "sha256": "4d405d4864ac54eb8ed71e682d313240f38b4083f8c44469460b727fc59a5bd4" }, "downloads": -1, "filename": "redistock-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "47f0ff12dd752625f80c1cb8ffe5053d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3972, "upload_time": "2019-07-15T07:30:45", "url": "https://files.pythonhosted.org/packages/64/a0/8c62e9ba08b0c398411676e0891a7ea77e522d93f014cc67ef067b2eae75/redistock-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "97b7d53bac183dc3ebc8a4f6758a21bf", "sha256": "72552295ef07daa4fbfa7139ec8dde9e5430c1aee5bc69e48b32c80e3999eb4f" }, "downloads": -1, "filename": "redistock-0.1.2.tar.gz", "has_sig": false, "md5_digest": "97b7d53bac183dc3ebc8a4f6758a21bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3383, "upload_time": "2019-07-15T07:30:47", "url": "https://files.pythonhosted.org/packages/ff/ba/bedddbab7850c4bbf991695e350ac572662f2bd915e0ee343630fea5fbe2/redistock-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "5aae82aa182e13626fc8581df0eb4457", "sha256": "9f3691687afd1b7ecbaebb324d1423a9bd5de428ccbf9b6acb24595bc32bfbd1" }, "downloads": -1, "filename": "redistock-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5aae82aa182e13626fc8581df0eb4457", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4035, "upload_time": "2019-07-17T04:09:32", "url": "https://files.pythonhosted.org/packages/4a/52/4601168344854bc88b8e4a4b1c03ac9bac2bcdc60f5508b163f2d397b8d7/redistock-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8a42728f8bf35528b115d92f4282cd2c", "sha256": "6c3c3931d05dd89db9ddfb9595c25785f493ae9c45cc733f8a931923c00ed3ef" }, "downloads": -1, "filename": "redistock-0.1.3.tar.gz", "has_sig": false, "md5_digest": "8a42728f8bf35528b115d92f4282cd2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3437, "upload_time": "2019-07-17T04:09:34", "url": "https://files.pythonhosted.org/packages/8c/73/619c267ec96b67639f8b1cf263d28d99c4561eb5b6d3cb2d7628142b8692/redistock-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5aae82aa182e13626fc8581df0eb4457", "sha256": "9f3691687afd1b7ecbaebb324d1423a9bd5de428ccbf9b6acb24595bc32bfbd1" }, "downloads": -1, "filename": "redistock-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5aae82aa182e13626fc8581df0eb4457", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4035, "upload_time": "2019-07-17T04:09:32", "url": "https://files.pythonhosted.org/packages/4a/52/4601168344854bc88b8e4a4b1c03ac9bac2bcdc60f5508b163f2d397b8d7/redistock-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8a42728f8bf35528b115d92f4282cd2c", "sha256": "6c3c3931d05dd89db9ddfb9595c25785f493ae9c45cc733f8a931923c00ed3ef" }, "downloads": -1, "filename": "redistock-0.1.3.tar.gz", "has_sig": false, "md5_digest": "8a42728f8bf35528b115d92f4282cd2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3437, "upload_time": "2019-07-17T04:09:34", "url": "https://files.pythonhosted.org/packages/8c/73/619c267ec96b67639f8b1cf263d28d99c4561eb5b6d3cb2d7628142b8692/redistock-0.1.3.tar.gz" } ] }