即使从 Google Cloud Scheduler HTTP Request 正确调用,Google Cloud Function 也无法执行

问题描述

我有一个运行 Python 3.9 的谷歌云函数。它有一个由 Google Cloud Scheduler 作业调用的 HTTP 端点,该作业设置为每个工作日的每分钟运行一次。该函数有时会按预期运行,每分钟执行一次,如下面屏幕截图中日志开头所示。然而,看似没有模式,它会以 6 分钟、3 分钟或 2 分钟的间隔开始执行,在 Cloud 函数的日志中存在间隙,绝对没有任何事情发生,它甚至没有注册来自调度程序的请求。>

但是,如果您比较同一时间范围内的调度程序日志,则在此期间它正在正常发送请求,并且无论 Cloud 功能是否实际运行,几乎每个响应都是相同的。

代码平均运行 2.5 秒,最长约 8 秒,因此运行代码和传入的新调度程序请求之间不应有任何重叠。

调度程序作业的 auth 标头是一个 OIDC 令牌,指向一个 IAM 服务账户,该账户拥有调度程序和云函数执行权限的完全访问权限。

云函数日志:

Cloud Function logs

Cloud Scheduler 日志:

Cloud Scheduler logs

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)