论坛首页 Java企业应用论坛

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

浏览 13652 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (14) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-03-03  
我使用spring + quartz 做定时任务处理,想实现每隔二个星期的周一和周三触发任务,这样一个cron 表达式怎么写?
   发表时间:2008-03-03  
写四个任务?
0 请登录后投票
   发表时间:2008-03-03  
好像没办法指定隔多长时间呢.......
除非用那种隔多少秒启动的定义方式  这样就需要写两个 每隔3*7*24*3600*1000就执行
或者写一个 每个星期2和3都会运行的  然后在数据库里记录上次启动时间 如果是两个星期就启动  否则就不启动 当然数据库里要记录两个时间 分别对应周二和周三
0 请登录后投票
   发表时间:2008-03-03  
谢谢各位的回复,好象用cron表达式是没有办法解决这个问题,不过我想用 JobListener应该可以实现这个功能.
0 请登录后投票
   发表时间:2008-03-03  
0 0 0 0 0 2/2,4/2
0 请登录后投票
   发表时间: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
0 请登录后投票
   发表时间: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周,楼上所说的不行
0 请登录后投票
   发表时间:2008-03-03  
ddandyy 写道
好像没办法指定隔多长时间呢.......
除非用那种隔多少秒启动的定义方式  这样就需要写两个 每隔3*7*24*3600*1000就执行
或者写一个 每个星期2和3都会运行的  然后在数据库里记录上次启动时间 如果是两个星期就启动  否则就不启动 当然数据库里要记录两个时间 分别对应周二和周三


看来只能这样了.

每周1,3执行. 执行前判断上次执行是否有两个星期间隔了.
0 请登录后投票
   发表时间:2008-03-03  
0 0 0 0 0 2#1,2#3,4#1,4#3

这样如何?未验证
0 请登录后投票
   发表时间: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执行。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics