如何锁定 Django 中的关键部分?

2024-04-01

我找不到一个好的干净方法来锁定 Django 中的关键部分。我可以使用锁或信号量,但 python 实现仅适用于线程,因此如果生产服务器分叉,那么这些将不会受到尊重。有谁知道一种方法(我现在正在考虑 posix 信号量)来保证跨进程的锁定,或者禁止这种方法来阻止 Django 服务器分叉。


如果你使用RDBMS,你可以使用它的“LOCK”机制。 例如,当一个“SELECT FOR UPDATE”事务锁定一行时,该行的其他“SELECT FOR UPDATE”事务必须等待。

# You can use any Python DB API.
[SQL] BEGIN;

[SQL] SELECT col_name FROM table_name where id = 1 FOR UPDATE;

[Process some python code]

[SQL] COMMIT;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何锁定 Django 中的关键部分? 的相关文章

随机推荐

  • 球拍、包含、要求和提供不起作用

    我有一个名为 functions rkt 的文件 其中有一些函数 我正在另一个文件中工作 我们将其命名为 working rkt 我在 working rkt 中尝试了以下操作 一一 来使用 functions rkt 中定义的函数 req
  • 如何使用 System.IO.Stream 和 LINQ 读取 XML 文件

    我将像这样传递 xml 文件 File1 PostedFile InputStream reading xml file public static void readXMLOutput Stream stream System Xml L
  • TypeScript :具有原始类型约束的通用类型

    我在 TypeScript 中有以下通用类 type UserId number type Primitive string number boolean class ColumnValue
  • 如何在角度单元测试中模拟 location.path

    http blog artlogic com 2013 05 06 angularjs best practices ive been doing it wrong part 2 of 3 http blog artlogic com 20
  • Windows 上的 Qt QMYSQL“驱动程序未加载”

    当尝试连接到 mysql 数据库时 我收到以下错误 驱动程序未加载 我已经创建了一个安装程序 其中包含所有需要的 DLL 文件 libmysql dll plugins qsqlmysql dll QT5Sql 等 在新安装的 Window
  • 如何从 1 更新 id 集?

    我有一个id即主键和自增 是否有任何疑问可以更新我现有的id并让我的id从 1 开始 下一个 id 2 等等 例如 id name 3 ABC 5 XYZ 9 PQR NOTE id已经是主要的并且自动增量 我不想截断我的 id 如果可能的
  • Python multiprocessing.Pool map()“TypeError:字符串索引必须是整数,而不是 str”

    我正在尝试使用 multiprocessing Pool 对字典列表进行并行处理 下面是一个例子 请注意 这是一个玩具示例 我的实际示例将对实际字典中的值进行 CPU 密集型处理 import multiprocessing my list
  • 可以在 VS2008 中的预处理器指令块(例如 #ifndef ... #endif)中启用智能感知吗?

    在 C 库中工作时 我注意到在 ifndef CLIENT DLL endif 等指令块内我没有被授予任何智能感知 这显然是由于 CLIENT DLL 已被定义的事实 我意识到我可以通过简单地注释掉指令来解决这个问题 无论指令评估如何 是否
  • Netbeans:将 Java 应用程序部署到远程 Tomcat

    有没有简单的方法可以自动将Web服务 Java Web应用程序等部署到远程tomcat服务器 目前我必须手动复制 war 文件 就我个人而言 我在 build xml 中添加了一个 deploy 目标 其中包含一个 标签来传输 war 文件
  • WPF DataTrigger 值中的绑定

    嗯 这可能是一个简单的问题 但我无法找到解决方案 我有一个DataTrigger as
  • 使用xarray,如何在多维数据集上并行化一维操作?

    我有一个 4D xarray 数据集 我想在特定维度 此处为时间 上的两个变量之间进行线性回归 并将回归参数保留在 3D 数组中 其余维度 我设法通过使用此串行代码获得了我想要的结果 但速度相当慢 add empty arrays to s
  • 在图形工具、Python 界面中从邻接矩阵创建加权图

    我应该如何使用 python 中的图形工具从邻接矩阵中创建图形 假设我们有adj矩阵作为邻接矩阵 我现在做的是这样的 g graph tool Graph directed False g add vertex len adj edge w
  • XML 解析以获取描述选项卡

    我如何使用 android 中的 xml 解析来解析描述详细信息
  • Windows 7 上的 GetWindowRect 太小

    我想要解决的实际问题是 我想自动找出窗口周围边距的大小 如果您能找到更好的方法 请务必回答这个而不是这个 为此 我决定截取测试窗口的屏幕截图并测量边距 这很简单 因为我预计任何边距都不会是亮粉色 但我承认这是一个黑客行为 我用获取窗口矩形
  • Go-复制结构之间的所有公共字段

    我有一个存储 JSON 的数据库 以及一个提供外部 API 的服务器 通过 HTTP post 可以更改该数据库中的值 该数据库由不同的进程在内部使用 因此具有通用的命名方案 客户看到的密钥不同 但与数据库中的密钥进行 1 1 映射 存在未
  • 使用 Parse 创建 Stripe 客户

    我正在尝试使用解析创建一个条带客户 但似乎无法从响应中获取 customer id 值 var newCustomer Stripe Customers create card request params cardToken email
  • Objective-c:访问方法中的可变参数[重复]

    这个问题在这里已经有答案了 可能的重复 如何在 Objective C 中创建可变参数方法 https stackoverflow com questions 4804674 how to create variable argument
  • 紧凑的等于和哈希码

    我有一个有 4 个属性的 bean user institutionId groupId postingDate 我使用 Eclipse 生成 equals 和 hashcode 但生成的代码不太漂亮 有没有一种紧凑的方法可以做到同样的事情
  • 将ELF文件加载到内存中

    我正在尝试将 elf 文件放入内存然后执行它 步骤如下 1 要放入内存的文件 int main printf Hello world n return 0 2 编译它gcc o hello hello c static ELF Header
  • 如何锁定 Django 中的关键部分?

    我找不到一个好的干净方法来锁定 Django 中的关键部分 我可以使用锁或信号量 但 python 实现仅适用于线程 因此如果生产服务器分叉 那么这些将不会受到尊重 有谁知道一种方法 我现在正在考虑 posix 信号量 来保证跨进程的锁定