用 FunctionGraph 给自己造一个免费的小闹钟:Serverless 定时任务十分钟上手
不少开发者都有这类小需求:每天早上拉一次天气写进数据库、每周整理一次对象存储里的日志、定时给自己的服务做个健康检查。以前的做法是租一台服务器挂个 crontab,可服务器大部分时间都在空转。华为云的函数工作流 FunctionGraph 提供了更省心的玩法:不用买服务器,按执行次数和时长计费,个人小项目基本落在每月免费额度内,真正的"零成本闹钟"。下面带你十分钟跑通第一个定时函数。
第一步:创建函数
登录华为云控制台,搜索"函数工作流"进入服务页面,点"创建函数"。选择"事件函数",运行时语言按熟悉程度选,这里以 Python 3.9 为例。函数名起个有意义的,比如 daily-reminder。
第二步:写业务逻辑
进入函数详情页的"代码"页签,在线编辑器里直接改默认入口文件。一个最简的例子(写在入口文件里):
def handler(event, context):
print("daily task executed")
return {"statusCode": 200, "body": "ok"}
真实场景里,你可以在这里调用 OBS 接口整理文件、请求第三方 API 拉数据,或者访问数据库做统计。函数执行日志里的 print 都能在监控页看到,调试很方便。
第三步:加一个定时触发器
切换到"触发器"页签,点"创建触发器",类型选"定时触发器"。支持三种模式:周期频率(每分钟/每小时/每天)、Cron 表达式和固定时间。比如每天早上八点执行,可以用 Cron 表达式 0 0 8 * * *(华为云 Cron 支持到秒级,注意第一位是秒)。保存后触发器立即生效,到点函数就会自动跑一次。
第四步:验证与看日志
到了触发时间,或者手动点一次"测试",执行完成后在"日志"页签能看到这次执行的完整输出和耗时。如果执行失败,还可以结合"消息通知服务"给自己发一条告警,形成闭环。
几个实用建议
一、把函数内存调到够用的最小档,执行越快越省额度;二、幂等性要考虑好,定时任务偶尔重复触发时业务不能出乱子;三、第三方密钥不要硬编码在代码里,放到函数的"环境变量"或"委托"里更安全。
整体下来,创建、编码、配触发器三个动作都在网页里完成,不装任何本地工具。对想理解 Serverless 的同学来说,FunctionGraph 是个门槛极低的起点:先做一个每日小闹钟,再逐步把拉取、清洗、备份这些例行琐事交给它,你会发现省下来的不只是服务器的钱,还有天天惦记脚本的心智。
- 点赞
- 收藏
- 关注作者
评论(0)