blob: 74f4035b25694e86b98e7f495364d7207093ef90 [file] [log] [blame] [edit]
# 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