用twisted adbapi异步数据库操作时出现死锁

来源:8-7 scrapy实现ip代理池 - 2

慕婉清4097246

2019-12-20

老师你好,
大量并发操作情况下, 报如下错误:

2019-12-19 21:27:17 [root] CRITICAL: [Failure instance: Traceback: <class ‘MySQLdb._exceptions.OperationalError’>: (1213, ‘Deadlock found when trying to get lock; try restarting transaction’)

请问有没有解决的思路呢? 我执行看了item和pipeline的相关数据库操作语句,没有发现问题,数据表设置了关键字似乎也没什么问题。 不是大批量高并发地操作不会出现问题。

注:相关数据库的操作只是针对一张数据表,而且这个数据表只有一个以表内字段建的主键,没有外键。这张表是独立的。数据库引擎是InnoDB.

盼复,谢谢!

写回答

1回答

bobby

2019-12-22

你是不是对这个表既有查询操作 也有更新操作 以及插入操作,这个是表锁之间产生了死锁,这种问题在高并发的时候很容易出问题

0
2
bobby
回复
慕婉清4097246
https://www.cnblogs.com/hunternet/p/11383360.html 你可以先看看这篇文章
2019-12-24
共2条回复

Scrapy打造搜索引擎 畅销4年的Python分布式爬虫课

带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎

5795 学习 · 6290 问题

查看课程