Google Cloudの cloud runでPythonのFlaskを使ったときの困ったことのメモ。
デプロイはできたけど、すぐWorkerがTimeoutを起こしてしまう問題
通常のgcloudコマンドでのデプロイでは、起動時のTimeoutが30秒で発生してしまう。
CPUやメモリを増やしても改善しない。
そういうときは、Gunicornのタイムアウトを調整すればOK
gcloud run deploy ●●● \
--project ●●● \
--set-env-vars TZ=Asia/Tokyo,GUNICORN_CMD_ARGS="--timeout 610" \
--region=us-central1 \
--source=. \
--timeout 600 \
--max-instances 1 \
--concurrency 1
こんな感じで環境変数をデプロイすればOK
さらにCPUやメモリを増やしたいときは
gcloud run services update ●●● \
--region=us-central1 \
--project=●●● \
--memory 4Gi \
--cpu 8
でアップデートするとより重い処理を完了しやすくなる