找回密码
 立即注册

QQ登录

只需一步,快速开始

飞天

初级会员

60

主题

140

帖子

456

积分

初级会员

积分
456
飞天
初级会员   /  发表于:2024-4-7 16:01  /   查看:1556  /  回复:9
1金币


设置每20秒执行一次,那假如上次任务未执行完成,是否会再次执行?

我这个计划任务是从数据库读取出未处理的记录,处理后会标记为已处理
如果某些时候读取的数据比较多,一次处理超过了20秒,那么记录是否会被重复呢?
会的话要用什么方式避免


附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

9 个回复

倒序浏览
静W_01
初级会员   /  发表于:2024-4-8 09:44:01
沙发
计划任务在服务器记录的是一个队列,每20s触发一次,如果20s结束时,当前任务还没有执行完成,下一个任务就会排列等待,当前任务执行哇安城后,下一个任务开始执行。
所以当下一个任务开始时,才会从数据库读取出未处理的记录,这时已经处理的记录根据条件已经查询不出来了。
回复 使用道具 举报
飞天
初级会员   /  发表于:2024-4-8 10:45:22
板凳
静W_01 发表于 2024-4-8 09:44
计划任务在服务器记录的是一个队列,每20s触发一次,如果20s结束时,当前任务还没有执行完成,下一个任务就 ...

这就点怪了
我有一个任务是将数据库表中的未处理消息发到企业微信,明明数据库只有3条记录,但却收到了5次消息,然后我们内部分析可能是任务调度的问题
回复 使用道具 举报
静W_01
初级会员   /  发表于:2024-4-8 11:10:52
地板
飞天 发表于 2024-4-8 10:45
这就点怪了
我有一个任务是将数据库表中的未处理消息发到企业微信,明明数据库只有3条记录,但却收到了5 ...

1.检查计划任务对数据库表未处理的筛选条件
2.计划任务命令里面,这里我不太清楚你的具体逻辑,是发送到企业微信就算处理,还是说必须有人手动标记为已处理才算处理
如果是前者的话,未处理消息发送到企业微信后,有没有把未处理的记录标记为已处理。
如果是必须有人手动标记为已处理才会更新数据库为已处理的话,那计划任务还会筛选出来未处理的记录,再次发消息,这样就会一条记录在计划任务里面多次提醒。
回复 使用道具 举报
飞天
初级会员   /  发表于:2024-4-8 11:48:29
5#
静W_01 发表于 2024-4-8 11:10
1.检查计划任务对数据库表未处理的筛选条件
2.计划任务命令里面,这里我不太清楚你的具体逻辑,是发送到 ...

自动的。
计划任务调取未标记的记录,处理后就标记为完成了
回复 使用道具 举报
静W_01
初级会员   /  发表于:2024-4-8 13:33:16
6#
飞天 发表于 2024-4-8 11:48
自动的。
计划任务调取未标记的记录,处理后就标记为完成了

计划任务有没有勾选 “在设计器中定时执行命令”?
如果发布前运行过这个工程,那也有可能是运行起来时执行计划任务的


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
飞天
初级会员   /  发表于:2024-4-8 17:33:52
7#
静W_01 发表于 2024-4-8 13:33
计划任务有没有勾选 “在设计器中定时执行命令”?
如果发布前运行过这个工程,那也有可能是运行起来时 ...

没有在设计器中运行过
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2024-4-8 18:11:11
8#
感谢各位大佬的支持~
可以看一下服务器的日志,看看计划任务详细的执行过程哈

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
飞天
初级会员   /  发表于:2024-4-9 08:17:47
9#
Lay.Li 发表于 2024-4-8 18:11
感谢各位大佬的支持~
可以看一下服务器的日志,看看计划任务详细的执行过程哈

日志里面是一直重复运行计划任务
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2024-4-9 17:18:03
10#
您好,不确定您说的数据库只有3条记录,但却收到了5次消息的具体原因是不是由于计划任务引起的,您现在的命令中的逻辑是什么呢

数据库三条记录和5次消息具体时间怎么产生的。可以详细的描述一下您现在的应用逻辑么,建议您可以发一个demo上来,我们看一下您demo中的设置,这样我们也可以更好的帮助到您
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部