如果业务量的变化时间可预测,您可以创建定时任务,在业务高峰到达前准备好足量的计算资源,或者在业务高峰后释放空闲的计算资源。

背景信息

定时任务是一种预设任务,可以在指定时间执行指定伸缩规则,实现自动扩张或者收缩计算资源,满足业务需求的同时又能控制成本。您还可以为定时任务指定重复周期,通过灵活的规则应对业务量的变化。

说明 一个账号下可以创建的定时任务数量有限,请参见使用限制

由于在同一时刻一个伸缩组中只能存在一个伸缩活动,定时任务还支持设置自动重试时间,避免因为单次执行伸缩规则失败影响定时任务的结果。如果同一分钟内存在多个待执行的定时任务,弹性伸缩会执行最新创建的定时任务。

操作步骤

  1. 登录弹性伸缩控制台
  2. 在左侧导航栏中,单击自动触发任务管理 > 定时任务
  3. 在顶部状态栏处,选择地域。
  4. 单击创建定时任务
  5. 配置定时任务。
    1. 配置任务名称。
      名称为2-64个字符,以大小写字母、数字或中文开头,可包含英文句号(.)、下划线(_)或短横线(-)。
    2. 填写描述。
      描述定时任务的目的、作用等信息,便于日后查看。
    3. 配置执行时间。
      定时任务的触发时间。
    4. 配置伸缩规则。
      指定定时任务触发时执行的伸缩规则。
    5. 配置重试过期时间。
      时间范围是0秒-21600秒(6小时)。如果未能在执行时间触发伸缩动作,弹性伸缩将在重试过期时间内继续尝试执行定时任务。
    6. (可选)配置重复周期。
      重复执行定时任务的周期,您可以选择按日、周、月的方式重复。如果要求多样,也可以使用Cron表达式,详细介绍请参见Cron表达式
  6. 单击提交

Cron表达式

Cron表达式采用UTC+0时区,在中国换算成系统本地时间时需要加8小时。另外,第一次执行Cron表达式的时间必须小于重复结束时间,否则会导致定时任务创建失败。

Cron表达式是一个字符串,字符串以若干个空格隔开,分为5到7个域。弹性伸缩定时任务支持5域的Cron表达式,分别是分钟、小时、日、月和星期,取值范围如下表所示。

是否必需 取值范围
分钟 [0, 59]
小时 [0, 23]
[1, 31]
[1, 12]
星期 [0, 7],星期日 = 0 或 7

在同一个域内可以填写多个数值,方法如下:

  • 利用逗号(,)指定多个值,例如:1,3,4,7,8。
  • 利用短横线(-)指定值的范围,例如:1-6,结果等同于1,2,3,4,5,6。
  • 利用星号(*)指定任何可能的值,例如:小时域中填写星号代表每个整点,结果等同于0-23。
  • 利用正斜线(/)指定间隔频率,例如:小时域中填写0-23/2表示每2小时执行一次。同时正斜线可以和星号一起使用,例如:小时域中填写*/3表示每3小时执行一次。