Google Scheduler的attempt_deadline对Cloud Run长作业的影响及触发疑问
Cloud Scheduler attempt_deadline 对Cloud Run作业的影响解析
核心结论
attempt_deadline不会终止正在运行的Cloud Run作业,它只管控Scheduler触发请求的超时逻辑,和作业本身的运行周期完全无关。
具体说明
attempt_deadline是Cloud Scheduler的专属参数,作用是设定Scheduler向Cloud Run发送触发请求后,等待初始响应的最长时限。如果120秒内没收到Cloud Run返回的作业启动确认,Scheduler会判定本次触发失败,并根据重试策略决定是否重新触发。- 一旦Cloud Run作业成功启动并进入执行阶段,Scheduler的
attempt_deadline就不再对其产生任何约束——作业会严格遵循自身配置的4小时超时时间运行,你的3小时实际执行时长完全在允许范围内,不会被中途终止。
触发作业的建议配置
当前的方案是可行的,无需调整核心逻辑:
- 继续用Terraform配置Cloud Scheduler,指向Cloud Run作业的触发地址,保留
attempt_deadline=120s的设置(这个时长足够覆盖Cloud Run作业的启动耗时)。 - 确保Cloud Run作业自身的超时配置(4小时)始终大于实际执行时长,避免作业因自身超时规则被终止。
内容的提问来源于stack exchange,提问作者Víctor M
相关产品推荐
相关产品推荐

