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

FLASK エンドポイントでインクリメンタル スリープ テストを実行したところ、1 分、2 分、10 分の待機時間内に 200 が返されました。Cloud Scheduler を介してエンドポイントをトリガーすると、ジョブは 10 分間のテストでのみ失敗しました。Cloud Scheduler ジョブのプロパティの 1 つが失敗の原因であることがわかりました。以下は私の問題を解決しました。

gcloud scheduler jobs describe <my_test_scheduler>

そこには、デフォルトで 180 秒に設定された「attemptDeadline」というプロパティが表示されます。

以下を使用してそのプロパティを更新できます。

gcloud scheduler jobs update http <my_test_scheduler> --attempt-deadline 1000s

参照:スケジューラの更新

于 2021-12-14T01:17:16.700 に答える