Oneshot 函数

概述

Oneshot 是 FaaS 函数的调度策略,为每个请求创建专用实例,执行完成后自动销毁。

配置方式

通过函数元数据中的 instanceMetadata.scalePolicy 设置:

{
  "name": "my-func",
  "kind": "faas",
  "instanceMetadata": {
    "scalePolicy": "oneshot"
  }
}

行为特性

特性 说明
实例池 无,每次请求创建新实例
实例复用
清理机制 请求完成后 (timeout + 30s grace period) 自动销毁
隔离级别 严格隔离,每个请求独立实例
状态恢复 不支持

与普通 FaaS 函数区别

特性 Oneshot 普通 FaaS
实例池
实例复用
冷启动开销 每次请求 仅首次
适用场景 严格隔离、单次任务 持续服务

使用限制

  • 仅适用于 kind: "faas" 函数
  • 不支持 yrlib 运行时函数
  • 不支持实例状态恢复