锁定某些内容并将状态保存在数据库中。

django-db-lock的Python项目详细描述


锁定某些内容并将状态保存在数据库中。

安装

pip install django-db-lock

设置

INSTALLED_APPS = [
    ...
    'django_db_lock',
    ...
]

在项目内部使用

import uuid
from django_db_lock import acquire_lock
from django_db_lock import release_lock

def view01(request):
    lock_name = "view01lock"
    worker_name = str(uuid.uuid4())
    timeout = 10
    locked = acquire_lock(lock_name, worker_name, timeout)
    if locked:
        try:
            ....
        finally:
            release_lock(lock_name, worker_name)
    ...

使用outout项目

import requests

def view02(request):
    data = {
        "lock_name": "view02lock",
        "worker_name": str(uuid.uuid4()),
        "timeout": 10,
    }
    response = request.post("http://api.server/system/dblock/acquire-lock", data=data)
    if response["result"]:
        try:
            ....
        finally:
            request.post("http://api.server/system/dblock/acquire-lock", data=data)
    ...

设置中的“应用程序选项”。py

  • 注册“Django_db_lock_admin”

    Register LockAdmin in django’s default admin site. Default to False.

  • 启用“django_db_lock_csrf_protect”

    Enable csrf-protect for django-db-lock’s views. Default to False.

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何正确组合两个摄影机视图矩阵?   在java中为文本文件创建二维数组?   使用@Autowired Null指针异常读取java属性文件   java Spring数据Couchbase自定义存储库方法   使用translate transition反弹墙壁圆(javafx屏幕的侧面)的java方法   Spring Boot、JSP和Hibernate中的java问题与删除请求   java保留传输文件的名称   java JMS消息。模型是否包含数据或指向数据的指针?   java Android tcp服务器通过按钮向客户端发送消息   春季黄瓜试验失败。运行时。黄瓜例外:爪哇。util。正则表达式。模式语法异常   java Imacros解析字符串   如何仅更新项目中的java运行时?   java与Jetty HTTPClient一起使用HTTP管道   java Kotlin对象类实例get()   java Android对其他活动的意图