当前位置: 首页 > news >正文

django mysql 加锁_Django数据库事务和死锁

当与多个进程/工作人员与Gunicorn运行Django我遇到了一些手动MySQL数据库事务的死锁问题。Django数据库事务和死锁

DatabaseError(1205, 'Lock wait timeout exceeded; try restarting transaction')

我的设置使用多个数据库,我的函数需要传递数据库才能在调用它时使用。出于这个原因,我不能使用标准Django transaction decorators,因为db需要被硬编码为参数。我检查了装饰代码来看看事务是如何管理的,我的功能看起来像这样:

from django.db import connections

def process(self, db, data):

# Takeover transaction management

connections[db].enter_transaction_management(True)

connections[db].managed(True)

# Process

try:

# do things with my_objects...

for obj in my_objects:

obj.save(using=db)

connections[db].commit()

except Exception as e:

connections[db].rollback()

finally:

connections[db].leave_transaction_management()

任何人能发现什么可能是错的怎么回事?

相关文章:

  • 二叉树某结点的路径java_java二叉树和为某一个值的路径如何实现?思路分享
  • java清空JTextArea文本内容_java – 如何在JTextArea中更改文本的位置
  • java设计模式观察者模式吗_JAVA设计模式---观察者模式
  • java 简易的资源池_资源池设计模式 (Resource Pool)和数据池的简单实现
  • java替代重定向_Java 重定向与管道
  • java五子棋聊天功能_Java基于享元模式实现五子棋游戏功能实例详解
  • bandpass filter java_带通滤波器设计(Bandpass filter design).doc
  • java的位桶是什么,hashmap中的存储桶究竟是什么?
  • 缴费java代码_基于jsp的物业管理缴费系统-JavaEE实现物业管理缴费系统 - java项目源码...
  • java实体类间的转换_java 实体类集合转换和实体类转换
  • mysql碎片整理 提速_MysqL碎片整理优化
  • 一张纸对折13次JAVA_一张纸最多折叠8次?她把纸折叠了13次后,发生了什么?
  • plsq卸载 删除注册表、_oracle安装及使用常见问题及解决方案
  • 陈伟伟java_java开发学习笔记之图书管理系统
  • java的list集合详解_【java集合】List详解
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • Angular4 模板式表单用法以及验证
  • CSS魔法堂:Absolute Positioning就这个样
  • Java读取Properties文件的六种方法
  • Laravel 中的一个后期静态绑定
  • markdown编辑器简评
  • miaov-React 最佳入门
  • mockjs让前端开发独立于后端
  • Redis 中的布隆过滤器
  • vue自定义指令实现v-tap插件
  • 从0实现一个tiny react(三)生命周期
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 微信小程序--------语音识别(前端自己也能玩)
  • Java数据解析之JSON
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • # centos7下FFmpeg环境部署记录
  • (3)(3.5) 遥测无线电区域条例
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (一)基于IDEA的JAVA基础12
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (转)mysql使用Navicat 导出和导入数据库
  • (转)程序员技术练级攻略
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .net core控制台应用程序初识
  • .netcore 获取appsettings
  • .NET建议使用的大小写命名原则
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)
  • ::
  • @require_PUTNameError: name ‘require_PUT‘ is not defined 解决方法
  • [ 蓝桥杯Web真题 ]-Markdown 文档解析
  • [100天算法】-二叉树剪枝(day 48)
  • [AAuto]给百宝箱增加娱乐功能
  • [AMQP Connection 127.0.0.1:5672] An unexpected connection driver error occured
  • [C#]OpenCvSharp结合yolov8-face实现L2CS-Net眼睛注视方向估计或者人脸朝向估计
  • [CTF]php is_numeric绕过
  • [HAOI2016]食物链
  • [hive] sql中distinct的用法和注意事项
  • [IOI2007 D1T1]Miners 矿工配餐