{ "info": { "author": "ruifengyun", "author_email": "rfyiamcool@163.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "###\u4e00\u4e2a\u7528redis\u5b9e\u73b0\u7684\u5206\u5e03\u5f0f\u9501\uff0c\u542b\u6709retry\u548ctimetout\u7684\u529f\u80fd\u3002\n\n* \u7528with\u505a\u9501\u7684\u903b\u8f91\u8bed\u53e5\n* timeout\u907f\u514d\u4e86\u907f\u514d\u4e86\u4efb\u52a1\u51fa\u73b0\u5f02\u5e38\uff0c\u6ca1\u6709\u505adelete\u64cd\u4f5c\n* \u5bf9\u4e8e\u957f\u65f6\u95f4\u7684\u4e1a\u52a1\uff0c\u589e\u52a0retry\u91cd\u8bd5\u9501\u7684\u6b21\u6570\n\n\u66f4\u65b0:\n1. \u589e\u52a0\u4e86ask_lock\u63a5\u53e3\n\n```\n#coding:utf-8\n#my blog: http://xiaorui.cc\nfrom __future__ import with_statement\nimport redis\nimport time\nfrom redis_netlock import dist_lock\n\nclient = redis.Redis(connection_pool=redis.BlockingConnectionPool(max_connections=15, host='localhost', port=6379))\nwith dist_lock('test', client):\n time.sleep(10)\n print 'welcome to my blog, http://xiaorui.cc'\n\n```\n#####\u540c\u65f6\u8fd0\u884ctest.py and test2.py\npython test.py\n```\nroot@li568-252 redis_netlock]# python test.py\nwelcome to my blog, http://xiaorui.cc\n```\n\npython test2.py\n```\n[root@li568-252 redis_netlock]# python test2.py\nSleeipng for 0.404031367603\nSleeipng for 1.19347232007\nSleeipng for 2.47668271021\nSleeipng for 4.55280708824\nhello\n```", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://xiaorui.cc/", "keywords": "redis lock distributed,fengyun", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "redis_netlock", "package_url": "https://pypi.org/project/redis_netlock/", "platform": "Any", "project_url": "https://pypi.org/project/redis_netlock/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://xiaorui.cc/" }, "release_url": "https://pypi.org/project/redis_netlock/1.6/", "requires_dist": null, "requires_python": null, "summary": "\u4e00\u4e2a\u7528redis\u505a\u7684\u5206\u5e03\u5f0f\u9501\uff0c\u542b\u6709\u8d85\u65f6\u53ca\u91cd\u8bd5\u673a\u5236.", "version": "1.6" }, "last_serial": 1737734, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "8d9f2494a7e37bb7bcd15f9a193c05ac", "sha256": "8d8987b4c7d5c454c25dc9303a14aab2459dc0028e88df1bdc18eae09bf78504" }, "downloads": -1, "filename": "redis_netlock-1.0.tar.gz", "has_sig": false, "md5_digest": "8d9f2494a7e37bb7bcd15f9a193c05ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1974, "upload_time": "2014-12-19T08:27:24", "url": "https://files.pythonhosted.org/packages/01/ec/184b8fafd0083f5854d021689a395d137677efa9c2f6f29ef05c6358254e/redis_netlock-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "5441f959ca45ea15d961aa7b0033196e", "sha256": "8455f1eb6c6525e87c35feb20fa1a949527ebbe79dd3cf2f610ecc2e3c9bc7c5" }, "downloads": -1, "filename": "redis_netlock-1.1.tar.gz", "has_sig": false, "md5_digest": "5441f959ca45ea15d961aa7b0033196e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1957, "upload_time": "2014-12-19T23:56:39", "url": "https://files.pythonhosted.org/packages/0d/35/c94b9acb29a4eb055cd1fbe76d3108ee8b7e4bf31b4f9c907a7ad787fe8b/redis_netlock-1.1.tar.gz" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "e6bbf49a454348e8e3c913999ead43f8", "sha256": "5fe850c4be044f67b62b2b555871d375d25cd5c429cefd055a79dd12bfc253e7" }, "downloads": -1, "filename": "redis_netlock-1.5.tar.gz", "has_sig": false, "md5_digest": "e6bbf49a454348e8e3c913999ead43f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2375, "upload_time": "2015-08-28T07:50:05", "url": "https://files.pythonhosted.org/packages/02/71/de3a4a1ce66041c675108a3bb555e2002fb45873c72c34c1c2d45e72463e/redis_netlock-1.5.tar.gz" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "81daba1258b03996677e1b81d4db4f4e", "sha256": "701eff5a2b6971c572e99d01c70a3fc85a8d3b4c59a406dbb3f971779498d347" }, "downloads": -1, "filename": "redis_netlock-1.6.tar.gz", "has_sig": false, "md5_digest": "81daba1258b03996677e1b81d4db4f4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2261, "upload_time": "2015-09-25T07:04:58", "url": "https://files.pythonhosted.org/packages/fd/84/a972c587c2e4805b2a5aae10a4a4df21c5e6776f9d815aced163b1c3bd25/redis_netlock-1.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "81daba1258b03996677e1b81d4db4f4e", "sha256": "701eff5a2b6971c572e99d01c70a3fc85a8d3b4c59a406dbb3f971779498d347" }, "downloads": -1, "filename": "redis_netlock-1.6.tar.gz", "has_sig": false, "md5_digest": "81daba1258b03996677e1b81d4db4f4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2261, "upload_time": "2015-09-25T07:04:58", "url": "https://files.pythonhosted.org/packages/fd/84/a972c587c2e4805b2a5aae10a4a4df21c5e6776f9d815aced163b1c3bd25/redis_netlock-1.6.tar.gz" } ] }