У меня есть приложение, которое нормально работает в среде Python 2.7 Standard и прекрасно работает как два отдельных приложения в среде 3.7, но я не могу понять, как настроить их как одно приложение с двумя службами.
main.app состоит из следующих двух строк (параллельно тому, что раньше работало в платформе 2.7)
from app import app
from update import update
app.yaml для main состоит только из среды выполнения: python37
Каждаяиз двух пакетов python в main (app и update) есть свой собственный app.yaml, как говорится в новом документе развертывания.Проблема в пакете update .Я использовал для указания обработчика, который имеет скрипт: main.update.Это больше не разрешено (разрешен только auto.) Обратите внимание, что пакет app работает нормально, потому что 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