管理应用中的定时任务
通过创建定时任务,来让系统自动执行某脚本、服务编排完成业务功能。
操作场景
创建一个定时任务“OfferingOffline”,用于实现从2021-11-25开始,每天零点自动将过期商品下架。其中,将过期商品下架的功能由“OfferingOffline”脚本实现。在创建定时任务之前,需要先开发实现定时任务功能的Script脚本,Script脚本的开发可参考脚本。
除了在环境配置中创建定时任务,您还可以在应用开发时创建定时任务,详情请参见定时任务。两者的区别是在应用开发设计器中创建的定时任务,可在打包发布应用时,将定时任务一起打包发布出去。在环境配置中创建的定时任务,无法随应用发布出去。除此之外,在应用开发时创建的定时任务仅对当前应用有效,而在环境配置中创建的定时任务可在多个应用中使用。
创建定时任务
- 在华为云Astro轻应用服务控制台,单击“进入首页”,进入应用开发页面。
- 在页面左上方单击
,选择 ,进入环境配置。
- 在顶部主菜单中,选择“维护”。
- 在左侧导航栏中,选择“全局元素 > 定时任务”,单击“新建”。
- 配置定时任务,单击“保存”。
保存后,该定时任务处于已启用状态。
图1 配置定时任务表1 定时任务参数说明 参数
说明
名称
定时任务名称。命名要求如下:
- 长度不能超过64个字符。
- 必须以英文字母开头,只能包含英文字母、数字或单下划线,且不能以下划线结尾。
类型
选择定时任务执行的类型,支持脚本或服务编排。
服务编排/脚本
选择定时任务执行的脚本或服务编排。
输入参数
输入脚本或服务编排的输入参数,脚本或服务编排中有定义输入参数时,才会显示。
任务首次执行时间
首次执行脚本或服务编排的时间。
执行次数
定时任务执行次数。
- 仅执行一次:定时/即时执行,立即执行或者选择某个特定时间执行(只执行一次)。
- 按设置的频率执行多次:按计划执行,从选定的时间开始,按用户设置的时间间隔,周期性执行。
- 按照Cron表达式:按照设置的Cron表达式执行任务。
Cron表达式
“执行次数”配置为“按照Cron表达式”时,需要设置定时任务的表达式。
Cron表达式是一种用于指定定时任务的时间表达式,常用来指定任务的执行时间、执行频率和执行间隔。Cron表达式由秒、分、时、日期、月份和星期六个域组成,每个域的取值请参见表2。
Cron表达式示例如下:
描述 表达式 每天6点执行 0 0 6 * * ? 每天的0点、6点、12点都执行一次 0 0 0,6,12 * * ? 每周六凌晨2点执行 0 0 2 ? * SAT 周一至周五的上午10:20触发 0 20 10 ? * MON-FRI
执行周期
“执行次数”配置为“按设置的频率执行多次”时,需要设置。
例如:1
执行周期单位
“执行次数”配置为“按设置的频率执行多次”时,需要设置执行任务时间间隔单位。
例如:天
描述
请根据实际需求,输入定时任务的描述信息。
取值范围:1~255个字符。
表2 Cron表达式域取值 字段
允许的数值
允许的特殊字符
秒
0~59
不支持
分
0~59
* /
小时
0~23
- * /
日期
1~31
- * ? /
月份
1~12
JAN-DEC - * /
星期
1~7
SUN-SAT - * ? /
表3 Cron表达式特殊字符的含义 字符
说明
示例
,
表示分开的值。
1,3,4,7,8。
*
表示匹配域的任意值。
在分这个域使用*,即表示每分钟都会触发事件。
?
表示匹配域的任意值,但只能用在日期和星期两个域,因为这两个域会相互影响。
要在每月的20号触发调度,不管每个月的20号是星期几,则只能使用如下写法:13 13 15 20 * ?。
其中,因为日期域已经指定了20号,最后一位星期域只能用?,不能使用*。如果最后一位使用*,则表示不管星期几都会触发,与日期域的20号相斥,此时表达式不正确。
-
表示起止范围。
在小时这个域使用8-10,表示从8时到10时每小时触发一次。
/
表示起始时间开始触发,然后每隔固定时间触发一次。
在小时这个域中使用,“*/3”等同于“每3个小时”,即“0,3,6,9,12,15,18,21”小时触发。
使用定时任务
在华为云Astro轻应用环境配置中创建的定时任务,可在开发应用时直接导入使用。
- 参考登录华为云Astro轻应用应用设计器中操作,登录应用设计器。
- 在左侧导航栏中,选择“流程”。
- 单击定时任务后的
,进入导入定时任务页面。
- 选中待导入的定时任务,单击“导入”。
导入成功后,在中,可查看到已导入的定时任务。图2 导入定时任务
禁用定时任务
创建定时任务成功后,其默认为启用状态,您可以进行禁用操作。
- 在华为云Astro轻应用服务控制台,单击“进入首页”,进入应用开发页面。
- 在页面左上方单击
,选择 ,进入环境配置。
- 在顶部主菜单中,选择“维护”。
- 在左侧导航栏中,选择“全局元素 > 定时任务”。
- 在需要禁用的定时任务后,单击“ON”,禁用定时任务。
您也可以进入定时任务详情页,单击“禁用”。
查看任务执行历史
在“任务执行历史”中可以看到任务执行历史,包括起始和终止时间,以及执行状态。
- 在华为云Astro轻应用服务控制台,单击“进入首页”,进入应用开发页面。
- 在页面左上方单击
,选择 ,进入环境配置。
- 在顶部主菜单中,选择“维护”。
- 在左侧导航栏中,选择“全局元素 > 定时任务”,单击“任务执行历史”。
- 设置“开始时间”和“结束时间”或任务名称,单击“查找”,查找某段时间中任务执行历史。