- 文档首页
函数服务
开发指南
veFaaS 函数开发
Native 运行时
开发方法(任务)
开发方法(任务)
任务 在函数服务中特指通过异步模式响应请求,基于 非 WebServer 模式 执行的一次性脚本任务。本文为您介绍开发任务需要遵循的规范和方法。
服务规范
开发任务时需要遵循以下规范:
- 任务默认通过 函数配置 中的启动命令执行,允许在提交任务时自定义启动命令。
- 本地开发完成后,在控制台 创建任务 时配置默认启动命令。
- 服务发布成功后,在 提交任务 时支持自定义启动命令。
- 如果启动过程比较复杂,建议在项目中提供启动脚本。
- 任务通过非 WebServer 模式执行,无需在服务中监听端口,通过启动命令指定任务需要执行的命令或任务脚本即可。
- 函数服务本身是无状态的,服务启动不依赖本地内存 Cache 或落盘的数据。如需状态可将其存储至远端 Redis 或 MySQL 数据库,或者挂载 NAS、 TOS 等远端存储(详情请参见 挂载 NAS 文件存储、 挂载 TOS 对象存储)。
- 任务实例可写的最大临时存储空间(/tmp目录)为 512 MiB,如果超过该限制可能引发实例驱逐,如需使用请注意限制使用大小,或者自行实现文件的清理或 rotate 逻辑。
任务脚本示例
对于复杂的任务,您可以在项目中提供一个启动脚本,后续配置启动命令时指定该启动脚本即可。以下是一个简单的任务脚本示例:
注意
启动脚本必须具有相应的可执行权限。否则任务会失败,出现 permission denied 报错。可参考以下命令给 Linux 系统所有的用户组添加脚本的执行权限。
注意
使用自定义镜像方式部署时,请确保所提供的镜像内置了对应的 Shell。代码包方式部署可忽略,函数服务平台提供的镜像默认包含 sh 和 bash shell 解释器。
最近更新时间:2025.03.11 17:02:16