之间有区别吗?和*在cron表达式中?奇怪的例子

之间有区别吗?和*在cron表达式中?奇怪的例子,第1张

之间有区别吗?和*在cron表达式中?奇怪的例子

0/1
表示从小时开始,
0
每个
1
小时重复一次,
1/1
是从该月的第一天开始并
1
每天执行

因此,此模式 每小时执行一次cron,从一个月的第一天开始,然后每天重复一次。

有使用需求

?
的一个
dayOfWeek
dayOfMonth

用于指定既是一天的周和日的日值的支持是不完整的(你当前必须使用“
?
在这些领域的一个”字符)。– xenteros 7分钟前

然后,

0 0 * * * ? *
(而不是
0 0 * * **
?
如您所说,必须是强制性的)将是相同的表达式,忽略秒和分钟,并采用其他元素的每个值,将每小时执行一次。


根据您的信息:

0 0 0/1 1/1 * ? *| |  |   |  | | | | |  |   |  | | +-- Year   (range: 1970-2099)| |  |   |  | +---- Day of the Week   (range: 1-7 or SUN-SAT)| |  |   |  +------ Month of the Year (range: 0-11 or JAN-DEC)| |  |   +--------- Day of the Month  (range: 1-31)| |  +------------- Hour   (range: 0-23)| +---------------- Minute (range: 0-59)+------------------ Second (range: 0-59)

以及以下特殊字符的解释:

*
(“所有值”)

用于选择字段中的所有值。例如,分钟字段中的“”表示*“每分钟”。

?
(“无特定值”)

当您需要在允许使用字符的两个字段之一中指定某些内容而在另一个不允许使用的字段中指定内容时很有用。例如,如果我希望触发器在每月的某个特定日期(例如,第10天)触发,但不在乎一周中的哪一天发生,则将“
10”设置为月字段,以及“?” 在星期几字段中。

/

用于指定增量。例如,秒字段中的“ 0/15”表示“秒0、15、30和45”。秒字段中的“
5/15”表示“秒5、20、35和50”。您还可以在“”字符后指定“ /”-在这种情况下,“”等效于在“ /”之前具有“ 0”。月日字段中的“
1/3”表示“从月的第一天开始每三天触发一次”。


*
和之间的差异
?

为了解释之间的差异

?
,并
*
在表达式,首先来看看这个表:

Field Name      Mandatory   Allowed Values      Allowed Special CharactersSeconds         YES         0-59     , - * /Minutes         YES         0-59     , - * /HoursYES         0-23     , - * /Day of month    YES         1-31     , - * ? / L W   //allowed '?'MonthYES         1-12 or JAN-DEC     , - * /Day of week     YES         1-7 or SUN-SAT      , - * ? / L #   //allowed '?'Year NO          empty, 1970-2099    , - * /

如您所见,这两个字段

?
仅在其中一个字段中是允许的,
Day of month
并且
Day ofweek
是必填字段,它将告诉Quartz该值尚未定义,因此,请使用另一个字段(如果
?
输入
Day of month
,则使用的值为
Day ofweek
)。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5615810.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存