service: upload
runtime: python27
api_version: 1
instance_class: F2

# A single upload can consume a lot of memory, so threadsafe:false prevents
# handling multiple uploads simultaneously in order to stay under F2's 256MB
# memory limit.
threadsafe: false

automatic_scaling:
  max_concurrent_requests: 5
  max_instances: 300
  max_pending_latency: automatic
  min_instances: 12
  target_cpu_utilization: 0.8

libraries:
- name: jinja2
  version: "2.6"
- name: pycrypto
  version: "2.6"
- name: webapp2
  version: "2.5.2"
- name: ssl
  version: latest

env_variables:
  GAE_USE_SOCKETS_HTTPLIB: 'true'

builtins:
- appstats: on
- deferred: on

inbound_services:
- warmup

handlers:
- url: /.*
  script: dashboard.dispatcher.APP
  secure: always
