当前位置:编程学习 > JAVA >>

【请大牛解答】开源调度quartz的结束时间的配置

    在工作遇到了quartz的调度问题,就是调度的时间每天晚上23:00启动,必须早上8:00中断,google了好久,没有发现

如何配置结束时间哎,早上8:00我必须中断,但是第二天晚上任需要正常启动,求CSDN大牛解答啊。


我不要重复执行啊!!
     --------------------编程问答-------------------- Quartz的cron表达式是可以支持时间段的,但不知道究竟你要的有多复杂。

如果太复杂,可以考虑做成两个任务,另一个任务负责专门在8点和23点控制起停你现在的任务。 --------------------编程问答--------------------
引用 1 楼 ldh911 的回复:
Quartz的cron表达式是可以支持时间段的,但不知道究竟你要的有多复杂。

如果太复杂,可以考虑做成两个任务,另一个任务负责专门在8点和23点控制起停你现在的任务。



就是今天晚上23:00启动,明天早上8:00停止 ,然后明天晚上23:00启动,,后天早上8:00停止,就这样每天循环就行了,同时可以监控到23:00停止了,可以让事务回滚。 --------------------编程问答-------------------- 感觉你的需求似乎又有点怪异了:你每天晚上23:00开始后,定时任务的启动间隔是多久?

还是说,你其实23:00是启动一个持续运行的程序,但希望8:00发出停止运行的指令? --------------------编程问答--------------------
引用 3 楼 ldh911 的回复:
感觉你的需求似乎又有点怪异了:你每天晚上23:00开始后,定时任务的启动间隔是多久?

还是说,你其实23:00是启动一个持续运行的程序,但希望8:00发出停止运行的指令?


对的,我就是要持续运行,我可能已经主观进入我的思维了。
不需要启动间隔,我就是23:00程序启动一直一运行(上送图片文件),早上8:00后不能占用带宽,必需让程序停掉,晚上23;00再重新启动。
多谢楼上的回答! --------------------编程问答-------------------- 那你其实应该考虑两个任务:
◎ 一个定时在23:00启动,启动后就干活;
◎ 另一个定时在8:00启动,启动后就给前一个任务发送“停止”命令。

Quartz应该是不支持定时强制终止一个任务的。 --------------------编程问答--------------------
引用 5 楼 ldh911 的回复:
那你其实应该考虑两个任务:
◎ 一个定时在23:00启动,启动后就干活;
◎ 另一个定时在8:00启动,启动后就给前一个任务发送“停止”命令。

Quartz应该是不支持定时强制终止一个任务的。



对我非常有用。下面想问一下具体实现:
1,另一个定时在8:00启动,启动后就给前一个任务发送“停止”命令。
  这个定时我是需要另外写一个jar程序不?就是我之前是发布jar包来执行23:00的任务,如果增加一个任务,可以放在同一个jar包里面进行管理么?
2,quarta我在网上找不到有什么好的资料,可以解释一下不?
多谢! --------------------编程问答-------------------- 我觉得楼主想复杂了,这两个 任务是让你控制你想要的效果的,至于怎么写,你自己决定吧,
其实就是任务更新任务!可以设置要更新的任务id
引用 6 楼 zyitian 的回复:
引用 5 楼 ldh911 的回复:
那你其实应该考虑两个任务:
◎ 一个定时在23:00启动,启动后就干活;
◎ 另一个定时在8:00启动,启动后就给前一个任务发送“停止”命令。

Quartz应该是不支持定时强制终止一个任务的。



对我非常有用。下面想问一下具体实现:
1,另一个定时在8:00启动,启动后就给前一个任务发送“停止”命令。
  这个定时我是需要另外写一……
--------------------编程问答-------------------- 两个任务控制即可



接下来无非是逻辑控制

任务1: 运行 此时date为晚上23点 此时逻辑变量为1 运行
任务2: 挂起 此时date为早8点 逻辑变量为0 挂起 --------------------编程问答-------------------- 我今早醒来思考了一下  一个任务即可搞定
你在程序里控制什么时候执行就可以

如果时间是早8点到晚23点  就让他执行空任务
其他时间段 正常执行 --------------------编程问答-------------------- 因为我写过一个东西  和你类似  也是一个任务   监控某资源信息
白天三小时发邮件一次
晚上4小时 

差不多的

也就是不用考虑早上8点到晚上23点这段时间是否要停止  让他执行无关任务就好 --------------------编程问答-------------------- 能不能简单点,在程序中判断当前时间,如果是八点了就不做了,不就OK了。 --------------------编程问答--------------------
引用 9 楼 ztglf521 的回复:
我今早醒来思考了一下 一个任务即可搞定
你在程序里控制什么时候执行就可以

如果时间是早8点到晚23点 就让他执行空任务
其他时间段 正常执行



如果时间是早8点到晚23点 就让他执行空任务
这个是在程序里面对时间进行控制,还是quartz里面可以配置的?

--------------------编程问答--------------------
引用 11 楼 yanghuiyu123 的回复:
能不能简单点,在程序中判断当前时间,如果是八点了就不做了,不就OK了。



这就是没有完全掌握开源框架的弊端啊,生产环境不能乱搞啊
--------------------编程问答--------------------
引用 12 楼 zyitian 的回复:
引用 9 楼 ztglf521 的回复:
我今早醒来思考了一下 一个任务即可搞定
你在程序里控制什么时候执行就可以

如果时间是早8点到晚23点 就让他执行空任务
其他时间段 正常执行



如果时间是早8点到晚23点 就让他执行空任务
这个是在程序里面对时间进行控制,还是quartz里面可以配置的?


肯定是程序里面啊 这个不难吧 获得当前时间 判断即可 --------------------编程问答-------------------- 首先你需要了解cron表达式的配置方法:
字段名                 允许的值                        允许的特殊字符  
秒                         0-59                        , - * /  
分                         0-59                        , - * /  
小时                   0-23                           , - * /  
日                         1-31                        , - * ? / L W C  
月                         1-12 or JAN-DEC             , - * /  
周几                     1-7 or SUN-SAT               , - * ? / L C #  
年 (可选字段)     empty, 1970-2099                  , - * /

字符说明:
“?”字符:表示不确定的值
“,”字符:指定数个值
“-”字符:指定一个值的范围
“/”字符:指定一个值的增加幅度。n/m表示从n开始,每次增加m
“L”字符:用在日表示一个月中的最后一天,用在周表示该月最后一个星期X
“W”字符:指定离给定日期最近的工作日(周一到周五)
“#”字符:表示该月第几个周X。6#3表示该月第3个周五

下面是范例可以根据自己想要的规则进行配置修改就可以了:
每隔5秒执行一次:*/5 * * * * ?
每隔1分钟执行一次:0 */1 * * * ?
每天23点执行一次:0 0 23 * * ?
每天凌晨1点执行一次:0 0 1 * * ?
每月1号凌晨1点执行一次:0 0 1 1 * ?
每月最后一天23点执行一次:0 0 23 L * ?
每周星期天凌晨1点实行一次:0 0 1 ? * L
在26分、29分、33分执行一次:0 26,29,33 * * * ?
每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ? --------------------编程问答--------------------
引用 15 楼 guosen_it 的回复:
首先你需要了解cron表达式的配置方法:
字段名 允许的值 允许的特殊字符  
秒 0-59 , - * /  
分 0-59 , - * /  
小时 0-23 , - * /  
日 1-31 , - * ? / L W C  
月 1-12 or JAN-DEC , - * /  
周几 1-7 or SUN-SAT , - * ? / L C #  
年 (可选字段) em……



这个百度里也有啊,和我要的效果不一样的
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,