函数工作流 FunctionGraph 跑定时任务的实践(1110 期)
【摘要】 把几个定时脚本从自己的服务器迁到了函数工作流上,记录一下迁移要点。
把几个定时脚本从自己的服务器迁到了函数工作流上,记录一下迁移要点。
场景很典型:每天定时抓取数据、做汇总、推通知。以前是服务器上挂 crontab,机器欠费或者重启就悄悄断了。迁到函数计算之后,定时触发器负责调度,函数跑完就释放,不用再养一台常驻机器。
迁移过程中有几点体会:一是函数的超时时间和内存要按实际执行情况调,默认配置跑长任务会中途被杀;二是依赖包要打成 zip 一起上传,或者用容器镜像,线上环境不要现场 pip install;三是日志要主动打结构化信息,排查问题全靠云日志服务里翻。
还有一个容易被忽略的点:函数访问外部网络要在配置里开对应开关,否则表现是请求莫名超时,第一反应往往想不到是网络配置。
迁完之后这台服务器的负载明显下降,定时任务也因为有了触发记录变得可观测。Serverless 并不是万能,但确实适合这种轻量、离散的自动化场景。冷启动的问题也记录一下:函数长时间不调用后第一次请求会慢一些,对延迟敏感的场景可以用预留实例消掉冷启动,不过那就要权衡成本了。定时任务这种场景对启动延迟不敏感,默认的按量模式完全够用。另外建议给函数配死信队列或者失败重试策略,任务执行失败要有地方能看到,静默失败是最难排查的问题类型。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)