使用cron4j,可以将作业设置为在将来的某个时间运行
Scheduler s = new Scheduler();
s.schedule("5 10 * * *", job);
s.start();
使用cron4j,工作可以安排在“下周六”或“12/21/2012”开始吗?
答案 0 :(得分:2)
* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)
这是命令结构的基本细分。开始一个21看起来像
0 0 21 12 *
但这只会在每年的12个月中的21个月进行。
答案 1 :(得分:1)
我不确定您是否可以定义年份,但由于字段为minute hour day month day_of_week (year)
,您应该能够使用以下表达式至少让作业在12/21/2012运行:0 0 21 12 ? 2012
。
编辑:cron4j似乎不支持可选的年份表达式,所以看起来你可以定义0 0 21 12 *
并让工作每年12月21日运行。
答案 2 :(得分:1)
是。例如:
0 0 21 12 *
这说是在12月21日凌晨12点运行。
Chron语法不会有限地支持年份设置,但如果您今天设置此作业,它将在下次跨越该日期时运行。
注意:另一个答案建议添加一年列。如果你确实包含了这个,那么这个行为并不是完全可以预测的 - 它取决于你正在使用的chron实现。