У меня есть приложение, которое отлично работает в рамках стандартной инфраструктуры Python 2.7 и отлично работает как два отдельных приложения в структуре 3.7, но я не могу понять, как настроить их как одно приложение с двумя службами.
main. app состоит из следующих двух строк (параллельных тому, что раньше работало во фреймворке 2.7)
from app import app
from update import update
App.yaml для main состоит только из среды выполнения: python37
Каждый из двух пакетов python под основным (приложение и обновление) имеет свой собственный app.yaml, как говорится в новом документе развертывания. Проблема в пакете обновления. Раньше я указывал обработчик, у которого был скрипт: main.update. Это больше не разрешено (разрешено только auto). Обратите внимание, что пакет app работает нормально, потому что приложение является точкой входа по умолчанию. Я понимаю, что новый способ указать, куда идти при запуске службы обновлений, - это использовать точку входа, но даже после добавления gunicorn к требованиям инструкция yaml
entrypoint: gunicorn b :$PORT main::update
что, кажется, то, что требуется, просто дает мне возврат 500 http. Я также пробовал такие варианты, как main.update, но безрезультатно.
main.py
app.yaml
-->/app
-----> /app/__init__.py
-----> /app/app.yaml
-->/update
------> /update/__init__.py
------> /update/app.yaml
Есть также подкаталоги шаблонов для обоих пакетов и некоторых других вещей, но все они отлично работают при запуске как отдельные версии.
Вот моя попытка yaml в каталоге обновлений:
runtime: python37
service: update
entrypoint: gunicorn -b :$PORT main.update
И вот yaml в каталоге приложения, который, кажется, работает нормально:
runtime: python37
service: default
handlers:
- url: /static
static_files: static/\1
upload: static/(.*\.(bmp|gif|ico|jpeg|jpg|png))
automatic_scaling:
max_idle_instances: 2
max_concurrent_requests: 12
before
версии.yaml
файлов, которые работали. - person Dan Cornilescu   schedule 10.03.2019