`
hfbrook
  • 浏览: 36555 次
社区版块
存档分类
最新评论

Quartz的cron 表达式,每隔两周的周一和周三怎么表示?

阅读更多
我使用spring + quartz 做定时任务处理,想实现每隔二个星期的周一和周三触发任务,这样一个cron 表达式怎么写?
分享到:
评论
17 楼 wu2004 2008-10-22  
怎么没有一个完整的答案?
16 楼 rrooyy 2008-08-08  
CRON表达式 配合 Calendar日历就可以实现你需要的功能。
即通过CRON指定每周一、三执行,然后使用一个隔周有效的日历。Quartz是有这个功能的。
15 楼 cwx714 2008-03-10  
0 0 0 * * 2,4/2
我一直是这样写的。
14 楼 pf_miles 2008-03-05  
直接crontab搞定了吧?
0 0 * * 1,3/2 cmd
13 楼 过无双 2008-03-05  
楼主的需求 我没有想出来
可能cron不大适合这样的情况

不过我觉得 既然是固定间隔(两周)
使用Quartz的SimpleTrigger就可以了吧

何必用cron呢

12 楼 hfbrook 2008-03-04  
jycode 写道
hfbrook 写道
lggege 写道
jycode 写道
0 0 0 0 0 2/2,4/2


我不清楚在第六位的Day-of-Week是否可以用数字.如果可以,那上面的就是正解.

0 0 0 0 0 MON/2,WED/2

在day_of_week中用 /2表示的是每隔二天而不是每隔2周,楼上所说的不行

若真是如此, 改成14就是2周了,何必太拘泥.
另,week这个位置是可以用数字的,1表示sun,类推.
不过我的确没有实作进行测试,对不起.


这样是不行的,我测试过,可能是这里的值不能超过7
11 楼 ddandyy 2008-03-04  
引用
Day-of-Week    1-7 or SUN-SAT    , - * ? / L C #

可以用14??????????
10 楼 jycode 2008-03-04  
hfbrook 写道
lggege 写道
jycode 写道
0 0 0 0 0 2/2,4/2


我不清楚在第六位的Day-of-Week是否可以用数字.如果可以,那上面的就是正解.

0 0 0 0 0 MON/2,WED/2

在day_of_week中用 /2表示的是每隔二天而不是每隔2周,楼上所说的不行

若真是如此, 改成14就是2周了,何必太拘泥.
另,week这个位置是可以用数字的,1表示sun,类推.
不过我的确没有实作进行测试,对不起.
9 楼 hfbrook 2008-03-03  
agile_boy 写道
0 0 0 0 0 2#1,2#3,4#1,4#3

这样如何?未验证



#表示的是一个月份内的第几个星期,而我要求的是年度范围内的,就是一年52周,每几周的周几运行。
我现在用JobListener和 InInterruptableJob接口去实现,在listener 中判断当前时间的 week_of_year(一年内的第几个星期) 能否被 interval(星期的间隔) 整除,如果不能整除就跳过这次的job执行。
8 楼 agile_boy 2008-03-03  
0 0 0 0 0 2#1,2#3,4#1,4#3

这样如何?未验证
7 楼 lggege 2008-03-03  
ddandyy 写道
好像没办法指定隔多长时间呢.......
除非用那种隔多少秒启动的定义方式  这样就需要写两个 每隔3*7*24*3600*1000就执行
或者写一个 每个星期2和3都会运行的  然后在数据库里记录上次启动时间 如果是两个星期就启动  否则就不启动 当然数据库里要记录两个时间 分别对应周二和周三


看来只能这样了.

每周1,3执行. 执行前判断上次执行是否有两个星期间隔了.
6 楼 hfbrook 2008-03-03  
lggege 写道
jycode 写道
0 0 0 0 0 2/2,4/2


我不清楚在第六位的Day-of-Week是否可以用数字.如果可以,那上面的就是正解.

0 0 0 0 0 MON/2,WED/2

在day_of_week中用 /2表示的是每隔二天而不是每隔2周,楼上所说的不行
5 楼 lggege 2008-03-03  
jycode 写道
0 0 0 0 0 2/2,4/2


我不清楚在第六位的Day-of-Week是否可以用数字.如果可以,那上面的就是正解.

0 0 0 0 0 MON/2,WED/2
4 楼 jycode 2008-03-03  
0 0 0 0 0 2/2,4/2
3 楼 hfbrook 2008-03-03  
谢谢各位的回复,好象用cron表达式是没有办法解决这个问题,不过我想用 JobListener应该可以实现这个功能.
2 楼 ddandyy 2008-03-03  
好像没办法指定隔多长时间呢.......
除非用那种隔多少秒启动的定义方式  这样就需要写两个 每隔3*7*24*3600*1000就执行
或者写一个 每个星期2和3都会运行的  然后在数据库里记录上次启动时间 如果是两个星期就启动  否则就不启动 当然数据库里要记录两个时间 分别对应周二和周三
1 楼 抛出异常的爱 2008-03-03  
写四个任务?

相关推荐

Global site tag (gtag.js) - Google Analytics