cron 计划语法参考资料
本节介绍使用 Alteryx Analytics Cloud (AAC) 中的 cron 定义计划执行的语法。通常,此方法用于重复计划。
注意
在指定 cron 计划的
AAC 页面上定义的时区设置将与计划一起使用。要使用 UTC 时区,请在下拉列表中选择
UTC
。
cron 概述
AAC 允许您使用 cron(一种广泛使用的语法)来指定定期重复出现的时间。您可以使用 cron 按分钟或年,以及两者之间的任意间隔指定计划。
cron 语法
计划的 cron 作业定义为以空格分隔的值字符串。以下 cron 示例定义了要在 2 月 1 日晚上 11:30:00 触发的计划:
分钟 | 小时 | 日期 | 月份 | 星期 |
---|---|---|---|---|
30 | 23 | 1 | 2 | * |
当所有值匹配时,将触发 cron 作业。
注意
不支持指定秒数。
通配符:
在上述 cron 表达式中,通配符 * 可用于匹配任何接受的值,这表示 cron 值类型不是确定此计划的因素。由于通配符应用于“星期”值,因此可以在一周的任何一天触发计划。
注意
您必须在“星期”或“日期”字段中使用
*
字符。不支持在同一个 con 表达式中指定两个字段。
图例:
除最后一个字段(年份)外,所有字段都是 cron 表达式中的必填字段。下表描述了特殊字符。
值 | 类型 | 描述 | 支持的特殊字符 |
---|---|---|---|
30 | 分钟 | 0-59 | , - * / |
23 | 小时 | 0-23 | , - * / |
1 | 日期 | 1-31 | , - * / L W |
2 | 月份 | 1-12 | , - * / |
* | 星期 | 0 - 6 或周日至周六 0、Sun,SUN =周日 1、Mon,MON =周一 ... 6、Sat,SAT =周六 | , - * / L # |
* | 年份 | (可选)您可以根据需要指定年份设置。默认为 *。 | , - * / |
特殊字符
您可以在 cron 表达式中使用以下特殊字符。
字符 | 描述 |
---|---|
* | (
“所有值”
)- 匹配字段中所有可能值的通配符。例如,如果您希望触发器在晚上 10 点的每分钟触发,则表达式中的分钟字符为
|
- | 指定值范围。例如,您可以在“星期”字段中使用
|
, | 指定一组离散值。例如,在“日期”字段输入
|
/ | 以字段的单位指定字段的增量。例如,“分钟”字段中的
|
L | 在以下字段中接受该范围内的最后一个值:
|
W | 指定最近的匹配工作日。例如,如果在“日期”字段中输入
提示
|
# | 指定每月的第 n 天。“星期”字段的示例:
|
示例
下面是一些 cron 计划示例。
每小时
每小时第 15 分钟运行:
15 * * * *
每天
每天晚上 10 点运行:
0 22 * * *
每天晚上 10 点每分钟均运行:
* 22 * * *
每周
每周二凌晨 3 点运行:
0 3 * * 2
工作日
每个工作日晚上 8 点运行:
0 20 * * 1-5
请注意,上述计划在周一晚上 8 点和每周每晚 8 点运行。
对于每个工作日的上午,您可以选择在周日开始安排计划,其中星期值从 0 开始,以 4 结束。
每月
每月第一天凌晨 2:30 运行:
30 2 1 * *
在距每月 25 日最近的工作日 (W) 下午 3:30 运行:
30 15 25W * *
如果 25 日是周六,则在 24 日周五触发上述操作。
如果 25 日是周日,则在 26 日周一触发上述操作。
每年
每年 1 月 1 日午夜运行:
0 0 1 1 * *
其他示例
表达式 | 含义 |
---|---|
0 12 * * * | 每日中午 12 点触发 |
15 10 * * * | 每日上午 10:15 触发 |
15 10 * * * | 每日上午 10:15 触发 |
15 10 * * * * | 每日上午 10:15 触发 |
15 10 * * * 2017 | 2017 年的每天上午 10:15 触发 |
* 14 * * * | 每天下午 2 点至下午 2:59,每分钟触发一次 |
0/5 14 * * * | 每天下午 2 点至下午 2:55,每 5 分钟触发一次 |
0/5 14,18 * * * | 每天下午 2 点至下午 2:55,每 5 分钟触发一次,同时下午 6 点至下午 6:55,每 5 分钟触发一次 |
0-5 14 * * * | 每天下午 2 点至下午 2:05,每分钟触发一次 |
10,44 14 * 3 WED | 3 月份的每周三下午 2:10 和 2:44 触发。 |
15 10 * * MON-FRI | 每周一、周二、周三、周四和周五上午 10:15 触发 |
15 10 15 * * | 每月 15 日上午 10:15 触发 |
15 10 L * * | 每月最后一天上午 10:15 触发 |
15 10 L-2 * * | 每月倒数第二天上午 10:15 触发 |
15 10 * * 5L | 每月最后一个周五上午 10:15 触发 |
15 10 * * 5L 2017-2019 | 2017 年、2018 年和 2019 年,每月最后一个周五上午 10:15 触发 |
15 10 * * 5#3 | 每月第三个周五上午 10:15 触发 |
0 12 1/5 * * | 每月从第一天开始,每 5 天在中午 12 点触发。 |
11 11 11 11 * | 每年 11 月 11 日上午 11 点触发。 |
不支持的 cron 表达式
注意
AAC 不支持在同一表达式中混合使用
/
和
-
特殊字符。
您可以引用所有可能的选项,而不是在 cron 语法中表示范围。
表达式无效 | 有效表达式 |
---|---|
0 23 * 1-11/2 * * | 0 23 * 2,4,6,8,10 * * |
cron 表达式无效
表达式 | 含义 | 原因 |
---|---|---|
15 10 * * * 2001 | 2001 年的每天上午 10:15 触发 | 此 cron 表达式无效,因为其将来不会生成任何事件。 |
* * * | - | cron 表达式应包含 6 或 7 个字段。 |