本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
通过SAE创建Job任务模板,可以实现周期性自动执行任务,或者手动发送HTTP/HTTPS请求来触发任务执行,并且在任务完成后快速释放计算资源。
使用场景
SAE Job适用于对延时不敏感的异步离线场景。
时间驱动处理场景:例如整点发送优惠券、每天更新收益、每天刷新标签数和人群数据。
批量处理数据:例如按月批量统计报表数据、批量更新短信状态,对实时性要求低。
异步执行解耦:例如刷新活动状态、异步执行离线查询、与内部逻辑解耦。
CI/CD:执行完CI/CD持续集成任务后,能够立即释放计算资源。
SAE Job和开源自建产品在不同场景下的对比信息,请参见应用场景。
前置准备
如果是主账号,则需要开通Serverless应用引擎、EventBridge并授权。
如果需要使用RAM用户操作,准备工作如下:
阿里云账号开通EventBridge。
阿里云账号开通SAE Job,并根据控制台提示创建服务关联角色
AliyunServiceRoleForEventBridgeSendToSAE。阿里云账号为RAM用户授予
AliyunEventBridgeReadOnlyAccess权限。具体操作,请参见为RAM用户授权。
使用流程
在执行任务前,需要首先创建任务模板。
通过定时规则或发送HTTP/HTTPS请求的方式触发任务,每次触发均会根据任务模板生成新的任务。
每个任务均由SAE创建新的实例并执行任务。

创建任务模板
在SAE任务模板中,在顶部选择目标地域和命名空间,点击创建任务模板。
在基本信息向导页,配置以下信息,然后单击下一步。
配置项
说明
任务模板名称
自定义任务模板名称。
命名空间类型
选择系统创建的命名空间或选择已有命名空间。
任务部署方式
实例类型
Default:性能稳定,不会被抢占和驱逐,适用于对实时性及稳定性要求高的场景。
BestEffort:有较大的性能波动,且可被抢占和驱逐,适用于对实时性及稳定性无特殊要求的场景。
BestEffort 优先:是指系统会优先调度BestEffort类型实例,当BestEffort实例被抢占时会自动Fallback到Default实例,避免任务执行中断。
单实例规格
指定任务运行时单个实例的CPU和内存规格。
并发实例数
指定任务在任一时刻应该并发运行的实例数量。
在任务设置向导页,配置以下信息,然后单击下一步。
配置项
说明
任务类型
周期性任务
Cron表达式:用于定义任务执行的周期。可以手动输入Cron表达式,或者单击使用生成工具交互式地生成Cron表达式。
一次性任务(HTTP/HTTPS 触发)
请求类型:按需选择触发任务执行的请求协议:HTTP、HTTPS、HTTP&HTTPS。
请求方法:按需选择触发任务执行的请求方法,可多选:GET、POST、PUT、PATCH、DELETE、HEAD。
安全配置:在下拉列表选择安全配置方式。取值如下:
无需配置:无需进行安全配置,接收到的所有URL请求均转换为事件推送到事件总线EventBridge。
安全域名:输入安全的域名信息。只有使用该域名访问的URL请求支持转换为事件推送到事件总线EventBridge,其余请求均会被过滤。
IP网段:输入正确的IP地址或者IP网段。只有使用该IP地址或该IP网段内的IP地址访问的URL请求支持转换为事件推送到事件总线EventBridge,其余请求均会被过滤。
并发策略
展开更多设置,选择并发策略。
Allow:允许并发运行任务。定时任务不断创建新的任务。
Forbid:禁止并发运行任务。在前一个任务未完成时,不创建新任务。
Replace:当到达新任务创建时间点,而前一个任务未完成时,新的任务会取代前一个任务。
超时时间
指定任务可运行的时间期限,超时未结束,系统将尝试进行终止。取值范围为[0, 604800],单位为秒。默认值为3600秒。
重试次数
指定任务失败后进行重试的次数。取值范围为[0, 10],默认为3次。
启用任务分片
打开启用任务分片开关后,单击编辑任务分片名称,在编辑任务分片名称面板进行配置。多用于处理大数据业务需求,将分片平均分给多个客户端执行。
(可选)在高级设置向导页,配置所需功能(以选择镜像部署为例)。
点击创建,等待任务模板创建完成。
查看已创建的任务模板:在SAE任务模板中,在顶部选择目标地域和命名空间,点击目标任务模板名称跳转到任务模板详情页。
执行与启停任务
执行周期性任务
周期性任务会根据创建任务模板时设置的Cron表达式来自动周期性执行任务。
执行一次性任务
一次性任务可以通过发送HTTP或HTTPS请求触发执行(具体的请求协议与请求方法由创建任务模板时的配置决定)。
在SAE任务模板中,在顶部选择目标地域和命名空间,点击目标任务模板名称跳转到任务模板详情页。
在任务设置区域,获取公网请求 URL或私网请求 URL。如果是从公网发起请求,后续需要使用公网请求 URL。
通过发送请求触发任务执行。可以通过配置POST请求方法,在调用时将具体参数通过JSON格式传入Body,参数说明详见ExecJob。
示例1:调用时,指定环境变量。
curl -d '{"Envs":[{"name":"aaa","value":"bbb"},{"name":"ccc","value":"ddd"}]}' -H 'Content-Type: application/json' <url> # 注意将<url>用实际值替换示例2:调用时,指定并发实例数。
curl -d '{"Replicas":"3"}' -H 'Content-Type: application/json' <url> # 注意将<url>用实际值替换
手动触发任务执行
在SAE任务模板中,在顶部选择目标地域和命名空间,点击目标任务模板名称跳转到任务模板详情页。
在任务模板详情页面,在右上角点击手动执行任务。
停止任务
在SAE任务模板中,在顶部选择目标地域和命名空间,点击目标任务模板名称跳转到任务模板详情页。
在任务模板详情页面,在右上角点击停止任务,根据页面提示操作。
管理任务记录
在SAE任务模板中,在顶部选择目标地域和命名空间,点击目标任务模板名称跳转到任务模板详情页。
在左侧导航栏,单击任务记录,在任务记录页面,查看任务执行状态,按需操作。
删除任务:在操作列,单击删除,根据页面提示操作。
查看详情:单击目标任务ID进入任务记录详情页面,查看实例的运行状态。
查看任务事件
在SAE任务模板中,在顶部选择目标地域和命名空间,点击目标任务模板名称跳转到任务模板详情页。
在左侧导航栏,单击事件信息,在上方搜索框中可以按照以下条件搜索事件:来源名、事件原因、来源类型、事件等级。
编辑与删除任务模板
在SAE任务模板中,在顶部选择目标地域和命名空间,点击目标任务模板名称跳转到任务模板详情页。
在右上角,单击编辑任务模板或删除任务模板,按照页面提示操作。
删除任务模板后,系统将删除该任务模板下任务的所有实例(包括任务模板的创建信息),以及系统帮您代购的SLS,并关闭日志收集到SLS的功能。
回退历史版本
修改任务模板后,如果新版本有问题,可以将任务模板回退至所需的历史版本。
在SAE任务模板中,在顶部选择目标地域和命名空间,点击目标任务模板名称跳转到任务模板详情页。
在右上角,单击回退历史版本。
在回退历史版本页面,选择所需的版本,单击确定。
相关文档
功能 | 文档 |
SAEJob支持对开源Job的改造迁移。 | |
使用云效2020,通过代码包或镜像方式持续构建和部署任务模板至SAE。 |