20170720 Celery 异步任务处理到Sql Server 发生死锁
-- 1. 异常提示情况如下:

需要解决为什么引起死锁 -- 叹气
原因: 在使用Celery 启用了
配置参数
CELERYD_CONCURRENCY = 10 表示开了10块线程池。
有好处,可以快速并行的开启10 个Work ,相互不干扰的同时进行程式。
但是对于以上我的程式是更新SQL server数据库表数据,那么如果同时有两个worker update一张表,就会出现死锁。
所以,从提示看是Sql server报错,实际是在配置Celery处理机制时,没有控制好处理方式。
所以此处改为 CELERYD_CONCURRENCY = 1 即可解决问题
当然还可以配置任务数
CELERYD_MAX_TASKS_PER_CHILD = 100
当worker执行任务到100 个后,回收空间并重新创建,来保证内存不会溢出。 这些配置数量可以根据自己的实际情况进行调整,来满足个性化程式的需求
20170720 Celery 异步任务处理到Sql Server 发生死锁的更多相关文章
- SQL Server并行死锁案例解析
并行执行作为提升查询响应时间,提高用户体验的一种有效手段被大家所熟知,感兴趣的朋友可以看我以前的博客SQL Server优化技巧之SQL Server中的"MapReduce", ...
- Sql Server 检测死锁的SQL语句
首先创建一个标量值函数DigLock,用来递归检测SqlServer中的每一个会话是否存在加锁循环,如果该函数最终返回1则表示检测到了加锁循环 (也就是说检测到了死锁),如果最终返回0则表示没有检测到 ...
- SQL SERVER - 谈死锁的监控分析解决思路
1 背景 1.1 报警情况 最近整理笔记,打算全部迁移到EVERNOTE.整理到锁这一部分,里边刚好有个自己记录下来的案例,重新整理分享下给大家. 某日中午,收到报警短信,DB死锁异常,单分钟死锁12 ...
- 20170728 Celery项目 后台处理SQL SERVER的一个异常
-- 1. 感觉是访问DB 失败了,失败原因不明确 -- 2. 考虑解决问题的解决办法,后台记录异常,并重新发送任务. 具体如何来实现
- SQL Server 查看死锁的存储过程(转载)
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_who_lock]') and ) drop proc ...
- SQL Server 并发死锁解决案例备忘
SET @sql = ' SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; SET DEADLOCK_PRIORITY 10 BEGIN TRAN DE ...
- SQL Server查询死锁并KILL
杀掉死锁的sqlserver进程 SELECT request_session_id spid,OBJECT_NAME (resource_associated_entity_id)tableNa ...
- SQL Server解决死锁问题
用以下语句查询所有死锁的进程号和表名: SELECT request_session_id spid, OBJECT_NAME( resource_associated_entity_id ...
- SQL SERVER 查询死锁
USE mastergo CREATE PROCEDURE [dbo].[sp_who_lock]AS BEGIN DECLARE @spid INT , ...
随机推荐
- 自windows8以后,所有版本(专业版、企业版、旗舰版)都支持从 vhd 启动
而在windows 7 中,只有:企业版.旗舰版: 支持 从 vhd 启动!
- 解决java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone
使用spring boot整合MySQL时一直报 java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecog ...
- docker中,如何将镜像保存为tar文件或者将镜像保存为文件,将tar文件导入到docker中
需求说明: 在实际使用docker的过程中,比如某些机器不能上网,恰巧需要某些docker镜像,一般可以采用在能上网的机器上,pull下来基础镜像,然后将docker 镜像保存为文件,在不能上网的机器 ...
- Ubuntu 14.04 配置VNC服务 配置Xfce4桌面
一.安装配置VNC 1.首先安装VNC apt-get install vnc4server 2.为VNC设置密码 vncpasswd 输入密码,然后再确认一遍,就OK了. 3.启动VNC vncse ...
- JS 对象的深拷贝和浅拷贝
转载于原文:https://www.cnblogs.com/dabingqi/p/8502932.html 这篇文章是转载于上面的链接地址,觉得写的非常好,所以收藏了,感谢原创作者的分享. 浅拷贝和深 ...
- Android Studio设置代理,解决检查更新gradle信息的问题
Android Studio是基于JetBrains公司的IDEA开发的,Android Studio里的项目都是由Gradle构建的,Gradle集合了Ant和Maven的优点,又解决了他们的缺点, ...
- html5__Notifications API 桌面通知
MDN地址 google 文档 https://developers.google.cn/web/fundamentals/push-notifications/ const koa2 = requi ...
- fclose函数无响应
现象:win32程序在退出时无响应,当一步步跟踪代码时走到fclose. 原因:打开文件在一个线程中,写文件时在另一个线程,在open和write文件时均正常,只有在fclose时出现无响应. 解决: ...
- ERP项目实施记录06
自上月20以后,因厂里赶货,办公室人员有空也要去车间帮手,ERP的事就没动静了. 2014年1月10日开了个小组会议,认为第三方不是专业做本行业的,开发风险大:因此希望先开发一个报价软件试试. 明天第 ...
- I - The 3n + 1 problem(2.4.2)
I - The 3n + 1 problem(2.4.2) Crawling in process... Crawling failed Time Limit:1000MS Memory Li ...