如何为Google Cloud Function定时触发器启用重试机制?
为Python调度云函数启用重试机制的两种方法
一、代码配置(推荐,适配Firebase CLI部署)
你参考的是JavaScript版本的文档,Python SDK的写法有所不同,直接通过run_with链式配置重试策略即可,修改后的代码如下:
@scheduler_fn.run_with(failure_policy=True).on_schedule( schedule="00 06 1 * *", ) def getRates(event: scheduler_fn.ScheduledEvent) -> None: asyncio.run(getRatesAsync())
failure_policy=True会让函数执行失败时自动触发重试,遵循GCP默认的指数退避规则。修改后重新执行firebase deploy --only functions就能生效。
二、GCP控制台配置(解决你界面不符的问题)
你之前找错了操作入口,正确步骤是:
- 打开GCP控制台,进入「Cloud Functions」页面
- 找到你的
getRates函数,点击进入详情页 - 切换到「触发器」标签页,找到对应的调度触发器
- 点击触发器右侧的编辑图标(铅笔样式)
- 在编辑页面找到「重试策略」选项,选择「失败时重试」
- 保存修改即可
内容的提问来源于stack exchange,提问作者Andrey
相关产品推荐
相关产品推荐

