8

我有一个 Cloud Run 服务设置,并且我有一个调用该服务端点的 Cloud Scheduler 任务。当任务完成(http 处理程序返回)时,我看到以下错误:

请求失败,因为与实例的 HTTP 连接出错。

但是,实际的处理程序返回 HTTP 200 并成功存在。有谁知道这个错误是什么意思,在什么情况下会出现?

我还附上了日志的屏幕截图。

伊姆古尔

4

3 回答 3

6

你的工作需要超过 120 秒吗?我遇到了同样的问题,并发现 13 之前的节点版本有 120 秒 server.timeout 限制。我在 docker 上安装了节点 13,问题就消失了。

于 2020-04-06T13:15:36.173 回答
0
  1. Google 前端 (GFE) 返回错误 503。Cloud Run 服务存在暂时性问题,或者 GFE 已确定您的服务未准备好或无法正常工作。
  2. 在您的日志条目中,我看到了一个 POST 请求。7 毫秒后出现错误 503。这告诉我您的 Cloud Run 应用程序尚未准备好(处于由 Cloud Run 确定的就绪状态)。
  3. 一分八秒前,我明白了ReplaceService。这告诉我您的服务尚未处于运行状态,如果您稍后重试,您将看到成功。
于 2019-10-03T18:56:22.667 回答
0

我在我的 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

参考:调度程序更新

于 2021-12-14T01:17:16.700 回答