| # Copyright 2018 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| service: latency-insensitive |
| runtime: python39 |
| app_engine_apis: true |
| |
| entrypoint: gunicorn -b :$PORT --timeout 60 --workers ${WORKERS} --threads 1 main:app |
| |
| default_expiration: "3600d" |
| |
| instance_class: F4_1G |
| automatic_scaling: |
| min_idle_instances: ${MIN_IDLE_INSTANCES} |
| max_pending_latency: ${MAX_PENDING_LATENCY} |
| |
| # Note: this is interpreted by gae.py, it maps the app ID being deployed to |
| # values of ${...} vars. |
| # Reference: https://chromium.googlesource.com/infra/luci/luci-go/+/HEAD/examples/appengine/helloworld_v2/app.yaml |
| |
| luci_gae_vars: |
| monorail-dev: |
| WORKERS: "1" |
| MIN_IDLE_INSTANCES: "1" |
| MAX_PENDING_LATENCY: "automatic" |
| monorail-staging: |
| WORKERS: "1" |
| MIN_IDLE_INSTANCES: "1" |
| MAX_PENDING_LATENCY: "0.2s" |
| monorail-prod: |
| WORKERS: "8" |
| MIN_IDLE_INSTANCES: "2" |
| MAX_PENDING_LATENCY: "0.2s" |
| |
| env_variables: |
| # https://cloud.google.com/appengine/docs/standard/python3/services/access#compatibility |
| MEMCACHE_USE_CROSS_COMPATIBLE_PROTOCOL: "True" |
| NDB_USE_CROSS_COMPATIBLE_PICKLE_PROTOCOL: "True" |
| |
| handlers: |
| - url: /_ah/warmup |
| script: main.app |
| login: admin |
| |
| - url: /_ah/api/.* |
| script: main.app |
| |
| - url: /_task/.* |
| script: main.app |
| login: admin |
| |
| - url: /_cron/.* |
| script: main.app |
| login: admin |
| |
| - url: /_ah/mail/.* |
| script: main.app |
| login: admin |
| |
| inbound_services: |
| - mail |
| - mail_bounce |
| - warmup |
| |
| includes: |
| - gae_ts_mon |