| # Copyright 2016 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| service: besearch |
| runtime: python39 |
| app_engine_apis: true |
| |
| entrypoint: gunicorn -b :$PORT --timeout 60 --workers ${WORKERS} --threads 1 main:app |
| |
| instance_class: F4_1G |
| automatic_scaling: |
| min_idle_instances: ${MIN_IDLE_INSTANCES} |
| max_instances: ${MAX_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_INSTANCES: "20" |
| MAX_PENDING_LATENCY: "automatic" |
| monorail-staging: |
| WORKERS: "1" |
| MIN_IDLE_INSTANCES: "1" |
| MAX_INSTANCES: "50" |
| MAX_PENDING_LATENCY: "0.2s" |
| monorail-prod: |
| WORKERS: "8" |
| MIN_IDLE_INSTANCES: "5" |
| MAX_INSTANCES: "100" |
| 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: /_backend/.* |
| script: main.app |
| |
| - url: /_ah/start |
| script: main.app |
| login: admin |
| |
| - url: /_ah/stop |
| script: main.app |
| login: admin |
| |
| inbound_services: |
| - warmup |