{ "info": { "author": "VikingCo", "author_email": "operations@unleashed.be", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6" ], "description": "Django-locking\n==============\n\n.. image:: https://coveralls.io/repos/github/vikingco/django-db-locking/badge.svg?branch=master\n :target: https://coveralls.io/github/vikingco/django-db-locking?branch=master\n.. image:: https://travis-ci.org/vikingco/django-db-locking.svg?branch=master\n :target: https://travis-ci.org/vikingco/django-db-locking\n\nUsage\n-----\nThe simplest use is by using it as a context manager:\n\n::\n\n with NonBlockingLock.objects.acquire_lock(obj=model_obj):\n model_obj.do_something()\n\nOr you can keep track of the lock yourself:\n\n::\n\n try:\n lock = NonBlockingLock.objects.acquire_lock(obj=model_obj)\n except AlreadyLocked:\n return False\n\n model_obj.do_something()\n lock.release()\n\nIf you have no Django model, or you want to be able to specify the lock name\nyourself, you can do that too::\n\n # this will raise AlreadyLocked, if it's locked\n lock = NonBlockingLock.objects.acquire_lock(lock_name='my_lock')\n do_something()\n lock.release()\n\nNote that locks can expire automatically. There is a `LOCK_MAX_AGE` settings where you can specify a default lock release value for locks in your entire Django codebase. This value can be overridden per lock by setting the `max_age` parameter.\n\nTest\n-----\nYou can run the tests with\n::\n\n tox\n\nReleases\n--------\nv2.0.0:\n Merging of master and pre-django-1.8 branches\n Removes management command in favor of a celery task\nv1.2.1:\n Fix problem in migration to UUIDField for PostGres\nv1.2.0:\n Move id to UUIDField, add code quality checks and CI\nv1.1.0:\n Rename model to NonBlockingLock and add additional features\nv1.0.1:\n Corrected tests and code clean-up\nv1.0.0:\n Intial release.\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/vikingco/django-db-locking/", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "django-db-locking", "package_url": "https://pypi.org/project/django-db-locking/", "platform": "", "project_url": "https://pypi.org/project/django-db-locking/", "project_urls": { "Homepage": "https://github.com/vikingco/django-db-locking/" }, "release_url": "https://pypi.org/project/django-db-locking/2.0.4/", "requires_dist": null, "requires_python": "", "summary": "Database locking", "version": "2.0.4" }, "last_serial": 3225103, "releases": { "1.2.0": [ { "comment_text": "", "digests": { "md5": "f2030d57ed35d3837534340c165a1387", "sha256": "6b12dfba386a09460212a6782381d4dcf7fe32f7675c60304400a3124a63a84c" }, "downloads": -1, "filename": "django-db-locking-1.2.0.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "f2030d57ed35d3837534340c165a1387", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13677, "upload_time": "2015-11-10T08:56:20", "url": "https://files.pythonhosted.org/packages/ac/b1/16809e3066ddc0a5823161175007f70183356386f4a35378d1c5317f31b9/django-db-locking-1.2.0.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "aa62c4f8a377379743687fb035f010fb", "sha256": "9e835e4f238c0358a17c27fcee96c6fa5c3ae68f6f2278d2eb89de2de51e664c" }, "downloads": -1, "filename": "django-db-locking-1.2.0.tar.gz", "has_sig": false, "md5_digest": "aa62c4f8a377379743687fb035f010fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6900, "upload_time": "2015-11-10T08:56:26", "url": "https://files.pythonhosted.org/packages/32/e9/d62c3d2b6bbc5c50195f6c0d2af683341b8ffe0bb31ad2987f5a1e3b4a90/django-db-locking-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "a9ac9374a8e4642d87f2aa51994e757c", "sha256": "0927c76273b97bd1b97e33a404df67285149ee3296c64fb7ea7757595ced9e52" }, "downloads": -1, "filename": "django-db-locking-1.2.1.tar.gz", "has_sig": false, "md5_digest": "a9ac9374a8e4642d87f2aa51994e757c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6949, "upload_time": "2015-11-15T17:45:10", "url": "https://files.pythonhosted.org/packages/ad/da/afc95a9e14c1a7ee0b4dedfc82adfae401815716a84f5bf38310e48beaad/django-db-locking-1.2.1.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "ce824c38f7385e286094afa385484ec1", "sha256": "45b639b4cc8eaa4cb795ef31452bdddcca9b90976623b96b8258d021c8e99889" }, "downloads": -1, "filename": "django_db_locking-2.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "ce824c38f7385e286094afa385484ec1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12276, "upload_time": "2017-05-17T09:49:53", "url": "https://files.pythonhosted.org/packages/ee/49/0c31397aaaed3b9735adfd5862fc4f5fa322e534f123fe23793d7fc5b803/django_db_locking-2.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc129c131b554f8b8076c25eb335772a", "sha256": "e75ba2bd418ff43a79ca9535a158f251d431e91a94b778ad7c7eb595b7813be3" }, "downloads": -1, "filename": "django-db-locking-2.0.0.tar.gz", "has_sig": false, "md5_digest": "fc129c131b554f8b8076c25eb335772a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7015, "upload_time": "2017-05-17T09:49:46", "url": "https://files.pythonhosted.org/packages/00/4e/24ed4bc7e63bdff5db8d6647bde1f3d3c615be173a7e5dffde01e40872ef/django-db-locking-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "257d82c05b0741ae05810327656aaf90", "sha256": "2829247c6d5c38a50f9d879d601b4563302bff9c8a065ced3851345a85c99ad3" }, "downloads": -1, "filename": "django_db_locking-2.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "257d82c05b0741ae05810327656aaf90", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 15616, "upload_time": "2017-06-08T11:18:16", "url": "https://files.pythonhosted.org/packages/46/7d/bafa9f22e5fe4de6effd7fb93702fa6fce2b2a3f8b14c6baf460f6f36b79/django_db_locking-2.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eb97a4d1f440d968bfbfd73b82877db5", "sha256": "c749959b066787affc6cb6bdceb78101fc96c5da42bcbd63601ac3a53e262eff" }, "downloads": -1, "filename": "django-db-locking-2.0.1.tar.gz", "has_sig": false, "md5_digest": "eb97a4d1f440d968bfbfd73b82877db5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9033, "upload_time": "2017-06-08T11:18:13", "url": "https://files.pythonhosted.org/packages/bf/88/6cb4a461963edfac478d85b7b3490b87d00300a64cddc5d04c8e24e216e9/django-db-locking-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "746846ddc097b7dd703bdda78a8cec04", "sha256": "29a4f3e6408cb7ea2091c5aa9e8afb938bee37432cef42704dae9dd2c81cac78" }, "downloads": -1, "filename": "django_db_locking-2.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "746846ddc097b7dd703bdda78a8cec04", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 16428, "upload_time": "2017-09-25T14:15:23", "url": "https://files.pythonhosted.org/packages/08/60/4b90b99ee41524121f166a52de2855ef78d8f82c9fb9544e2d19f43dd4c6/django_db_locking-2.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f9e9098d55ddab2fd0bb85f643086043", "sha256": "df14d3ba9cea2531424378291036f596a545986b266f8f9d8d8dd972b5e28109" }, "downloads": -1, "filename": "django-db-locking-2.0.2.tar.gz", "has_sig": false, "md5_digest": "f9e9098d55ddab2fd0bb85f643086043", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9296, "upload_time": "2017-09-25T14:15:17", "url": "https://files.pythonhosted.org/packages/a6/65/a0fa4b31f8729ab1147d5cda77bc7d2722608a03320f9b4a837fdfd4019f/django-db-locking-2.0.2.tar.gz" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "83e4b15df40127a600f84c5a6b80c574", "sha256": "8a3c27e2e128f42eedf8e36afd3e7703cfb1830dc37fd7f39c6d8a747737c711" }, "downloads": -1, "filename": "django_db_locking-2.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "83e4b15df40127a600f84c5a6b80c574", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 17889, "upload_time": "2017-10-04T12:25:17", "url": "https://files.pythonhosted.org/packages/bb/25/15a4e60c30ed9dc1cd48da45a6183006441513080dc9f9b8ee2684ca508c/django_db_locking-2.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a38040fd5348677129b77a0401321668", "sha256": "0d86570d115f2fa75889cd191843a5851e3b9b54eed2487e308de9e2401a7d4f" }, "downloads": -1, "filename": "django-db-locking-2.0.3.tar.gz", "has_sig": false, "md5_digest": "a38040fd5348677129b77a0401321668", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9563, "upload_time": "2017-10-04T12:25:12", "url": "https://files.pythonhosted.org/packages/73/04/ca66d7ad9faa8a21dcc7aed94c7783f2489e87f29288d0c72939af8496e0/django-db-locking-2.0.3.tar.gz" } ], "2.0.4": [ { "comment_text": "", "digests": { "md5": "33d22e08c637a5293a052251a2142465", "sha256": "7d6759624c368c634fa2e345b620911765ee606ea2bce8528db66a995165add9" }, "downloads": -1, "filename": "django_db_locking-2.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "33d22e08c637a5293a052251a2142465", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18422, "upload_time": "2017-10-04T14:13:51", "url": "https://files.pythonhosted.org/packages/81/d2/a3550e9fa07aae3741a96f9fb844dadc72f6d551bddb8bedce913a3110e5/django_db_locking-2.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cd04f079fda7ddd19b953b25e4e2d2be", "sha256": "e328ca3bc8ea79e42a7c235775c85de82f65a2ac8a16bc81190799369e4fd92f" }, "downloads": -1, "filename": "django-db-locking-2.0.4.tar.gz", "has_sig": false, "md5_digest": "cd04f079fda7ddd19b953b25e4e2d2be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9651, "upload_time": "2017-10-04T14:13:47", "url": "https://files.pythonhosted.org/packages/32/ff/96980fd817f939575c60a9cfed3f24931e1632005e204a2f488c96f940aa/django-db-locking-2.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "33d22e08c637a5293a052251a2142465", "sha256": "7d6759624c368c634fa2e345b620911765ee606ea2bce8528db66a995165add9" }, "downloads": -1, "filename": "django_db_locking-2.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "33d22e08c637a5293a052251a2142465", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18422, "upload_time": "2017-10-04T14:13:51", "url": "https://files.pythonhosted.org/packages/81/d2/a3550e9fa07aae3741a96f9fb844dadc72f6d551bddb8bedce913a3110e5/django_db_locking-2.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cd04f079fda7ddd19b953b25e4e2d2be", "sha256": "e328ca3bc8ea79e42a7c235775c85de82f65a2ac8a16bc81190799369e4fd92f" }, "downloads": -1, "filename": "django-db-locking-2.0.4.tar.gz", "has_sig": false, "md5_digest": "cd04f079fda7ddd19b953b25e4e2d2be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9651, "upload_time": "2017-10-04T14:13:47", "url": "https://files.pythonhosted.org/packages/32/ff/96980fd817f939575c60a9cfed3f24931e1632005e204a2f488c96f940aa/django-db-locking-2.0.4.tar.gz" } ] }