函数工作流 FUNCTIONGRAPH-函数初始化入口Initializer:initializer接口规范
initializer接口规范
各个runtime的initializer接口有以下共性:
- 无自定义参数
Initializer不支持用户自定义参数,只能获取FunctionGraph提供的context参数中的变量进行相关逻辑处理。
- 无返回值
- 超时时间
- 执行时间
运行函数逻辑的进程称之为函数实例,运行在容器内。FunctionGraph会根据用户负载伸缩函数实例。每当有新函数实例创建时,系统会首先调用initializer。系统保证一定initializer执行成功后才会执行handler逻辑。
- 最多成功执行一次
FunctionGraph保证每个函数实例启动后只会成功执行一次initializer 。如果执行失败,那么该函数实例执行失败,选取下一个实例重新执行,最多重试3次。一旦执行成功,在该实例的生命周期内不会再执行initializer,收到Invoke请求之后只执行请求处理函数。
- initializer入口命名
除Java外,其他runtime的initializer入口命名规范与原有的执行函数命名保持一致,格式为 [文件名].[ initializer名],其中initializer名可自定义。Java需要定义一个类并实现函数计算预定义的初始化接口。
- 计量计费