首页新闻找找看学习计划

C# Quartz作业调度问题 多谢

0
[已解决问题] 解决于 2019-10-07 18:58

使用服务启动 AB两个Job 配置一样 全部设置每秒执行一次
A只写log 对比用
B处理数据 大约20秒执行完毕

服务刚启动时 A每秒执行一次 之后就和B一起执行 不在1秒一次log了 这样的话是配置不正确吗 如果之后有耗时更久的作业 配置时间不就无效了

配置文件如下

log记录如下

代码如下

摩尼酸奶的主页 摩尼酸奶 | 初学一级 | 园豆:120
提问于:2019-05-09 10:43
< >
分享
最佳答案
0

这个lock 什么鬼??
quartz 要实现 job处理完再进行下一次 任务 加个标签即可
[DisallowConcurrentExecution]

奖励园豆:5
xiaogui340 | 菜鸟二级 |园豆:211 | 2019-07-19 10:58

谢谢 对quartz 了解的不多 还有个问题 是 JOB是挂到服务上的 服务每次启动都会导致所有的job全部执行一遍 这种情况有什么解决办法吗

摩尼酸奶 | 园豆:120 (初学一级) | 2019-09-30 13:13

@摩尼酸奶: job的执行是基于配置文件quartz_jobs.xml 中的 corn 表达式 来执行的,图上的corn表达式 每秒执行一次,基本服务启动起来 就执行了啊

xiaogui340 | 园豆:211 (菜鸟二级) | 2019-09-30 15:11

@xiaogui340: 有其他的job 执行周期是其他的 比如每天1点 执行 但是服务启动后 所有job都会执行 除了在代码里进行控制job不执行 使用配置文件可以处理吗

摩尼酸奶 | 园豆:120 (初学一级) | 2019-09-30 15:20

@摩尼酸奶: 你的配置文件 是什么样的?去调 start-time 和 misfire-*** 节点看看?

xiaogui340 | 园豆:211 (菜鸟二级) | 2019-09-30 15:45

@xiaogui340: <job>
<name>QuitHandoverRemindJob</name>
<group>HR</group>
<description>触发事件</description>
<job-type>MG.HR.Job.QuitHandoverRemindJob,MG.HR.Job</job-type>
<durable>true</durable>
<recover>false</recover>
</job>
<trigger>
<cron>
<name>QuitHandoverRemindJobTrigger</name>
<group>HR</group>
<description></description>
<job-name>QuitHandoverRemindJob</job-name>
<job-group>HR</job-group>
<!-- job首次启动时间,不写默认立即启动-->
<start-time>2013-10-15T17:29:20</start-time>
<misfire-instruction>SmartPolicy</misfire-instruction>
<cron-expression>0 0 12 * * ?</cron-expression>
<!--<time-zone>GMT+8</time-zone>-->
</cron>
</trigger>
这样的

摩尼酸奶 | 园豆:120 (初学一级) | 2019-09-30 15:59

@xiaogui340:

摩尼酸奶 | 园豆:120 (初学一级) | 2019-09-30 16:01

@摩尼酸奶: 去掉 start-time 和 misfire-*** 节点看看,job不会默认立即启动,cron表达式没问题

xiaogui340 | 园豆:211 (菜鸟二级) | 2019-09-30 16:09

@xiaogui340: 谢谢你 去掉后是可以的

摩尼酸奶 | 园豆:120 (初学一级) | 2019-10-07 18:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册