Преобразование моего приложения Django/Python из стандартной среды App Engine в гибкую среду

Я пытаюсь перевести свое приложение Django/Python из стандартной среды Google App Engine в гибкую среду в основном из-за того, что приложение стало медленным и постоянно достигало мягкого предела памяти, и мне предложили перейти на более высокий класс экземпляра. Я уже был на самом высоком классе экземпляров. Моя проблема заключается в том, что когда я пытаюсь развернуть приложение, сборка проходит успешно, но я продолжаю получать ошибку при обновлении службы.

"Ваше развертывание не смогло стать здоровым за отведенное время и поэтому было откачено. Если вы считаете, что это была ошибка, попробуйте изменить параметр 'app_start_timeout_sec' в разделе 'readiness_check'."

".

Я пытался настроить секцию readiness_check, чтобы дать больше времени, но это просто занимает больше времени, чтобы дать мне ту же ошибку, похоже.Я пробовал гуглить эту проблему и добавлять больше памяти, но та же ошибка все еще появляется. Я застрял на этом этапе и не уверен, где еще искать.

Вот app.yaml, который успешно развернут в стандартном окружении

entrypoint: gunicorn -b :$PORT xpotools.wsgi

instance_class : F4_1G

automatic_scaling:
  min_instances: 5
  min_pending_latency: 30ms
  max_pending_latency: 4s
  max_concurrent_requests: 20
  min_idle_instances: 3

inbound_services:
- warmup

handlers:
- url: /static
  static_dir: static/
  secure: always

- url: /.*
  script: auto
  secure: always

- url: /_ah/warmup
  script: auto

Вот app.yaml, который я пытаюсь развернуть в гибкой среде

env: flex

runtime_config:
    python_version: 3.7

resources:
  cpu: 1
  memory_gb: 6
  disk_size_gb: 20

entrypoint: gunicorn -b :$PORT xpotools.wsgi 

Я что-то упустил?

Вы сказали, что ваше приложение превышает стандартную память GAE.

В какой момент ваше приложение начинает потреблять много памяти? Если ваше приложение начинает потреблять много памяти сразу после развертывания (еще до получения HTTP-запроса), то проблема может быть в этом.

Я не до конца понимаю проблему, но GAE flex запускает много рабочих при развертывании, и я подозреваю, что каждый из этих рабочих занимает значительное количество памяти, и в совокупности они превышают лимит памяти.

Попробуйте обновить ваше приложение так, чтобы память потреблялась в более позднее время, например, после получения первого HTTP-запроса. Это помогло мне решить аналогичную проблему.

Вернуться на верх