首页 新闻 会员 周边 捐助

quartz.net 执行时,并发执行了多次

0
悬赏园豆:10 [已解决问题] 解决于 2020-11-25 13:59

我的webapi项目,希望每天凌晨将基础表里的数据整理添加到日表中,使用的quartz.net框架,但是每次我调试时,都是可以成功,但是发布到服务器上(iis),就会出现并发的多次添加。在job上添加DisallowConcurrentExecution,也没有效果

thebestisyettocome的主页 thebestisyettocome | 初学一级 | 园豆:6
提问于:2020-11-24 11:12
< >
分享
最佳答案
0

任务的执行计划是怎么写的?

收获园豆:10
Tom.汤 | 老鸟四级 |园豆:3058 | 2020-11-25 08:27

1、首先job调用service层的添加到日表的方法

2、service层的具体方法,主要作用就是,将基础表中前一天的雨量数据,按设备号分类,记录每个设备号一天的总降雨量,然后存到日表中

3、quzrtz_job.xml配置

thebestisyettocome | 园豆:6 (初学一级) | 2020-11-25 10:01

@thebestisyettocome: 感觉调度这里是每天 14:01 执行一次应该是没有问题的,你现在的问题是日志里面 “开始执行插入日志操作-降雨量” 会出现两次吗? 还是表里面的数据会有重复数据?
先查下 日志里面 开始执行插入日志操作-降雨量 出现的次数,和时间。

Tom.汤 | 园豆:3058 (老鸟四级) | 2020-11-25 10:32

@Tom.汤: 同时创建了四个文件夹,应该是并发执行了

thebestisyettocome | 园豆:6 (初学一级) | 2020-11-25 10:44

@thebestisyettocome: 应该是你IIS 设置的问题, IIS 里面你是不是设置最大进程数为4?

Tom.汤 | 园豆:3058 (老鸟四级) | 2020-11-25 12:33

@Tom.汤: 确实是这样

thebestisyettocome | 园豆:6 (初学一级) | 2020-11-25 13:48

@Tom.汤: 刚刚调试了下,可以了,感谢!

thebestisyettocome | 园豆:6 (初学一级) | 2020-11-25 14:01
其他回答(2)
0

是不是在多个线程里同时调用了,有可能吗

会长 | 园豆:12463 (专家六级) | 2020-11-24 11:17

应该不是啊,我这一块没有涉及到多线程啊

支持(0) 反对(0) thebestisyettocome | 园豆:6 (初学一级) | 2020-11-24 11:26
0

记录一下线程ID?

happydaily | 园豆:260 (菜鸟二级) | 2020-11-25 10:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册