我有一个 Cloud Run 服务设置,并且我有一个调用该服务端点的 Cloud Scheduler 任务。当任务完成(http 处理程序返回)时,我看到以下错误:
请求失败,因为与实例的 HTTP 连接出错。
但是,实际的处理程序返回 HTTP 200 并成功存在。有谁知道这个错误是什么意思,在什么情况下会出现?
我还附上了日志的屏幕截图。
我有一个 Cloud Run 服务设置,并且我有一个调用该服务端点的 Cloud Scheduler 任务。当任务完成(http 处理程序返回)时,我看到以下错误:
请求失败,因为与实例的 HTTP 连接出错。
但是,实际的处理程序返回 HTTP 200 并成功存在。有谁知道这个错误是什么意思,在什么情况下会出现?
我还附上了日志的屏幕截图。
你的工作需要超过 120 秒吗?我遇到了同样的问题,并发现 13 之前的节点版本有 120 秒 server.timeout 限制。我在 docker 上安装了节点 13,问题就消失了。
ReplaceService
。这告诉我您的服务尚未处于运行状态,如果您稍后重试,您将看到成功。我在我的 FLASK 端点上运行了增量睡眠测试,它在 1 分钟、2 分钟和 10 分钟的等待时间内返回 200。通过 Cloud Scheduler 触发端点后,该作业仅在 10 分钟测试中失败。我发现这是导致失败的 Cloud Scheduler 作业的属性之一。以下解决了我的问题。
gcloud scheduler jobs describe <my_test_scheduler>
在那里,您会看到一个名为“attemptDeadline”的属性,默认设置为 180 秒。
您可以使用以下方法更新该属性:
gcloud scheduler jobs update http <my_test_scheduler> --attempt-deadline 1000s
参考:调度程序更新