GAE flex по умолчанию использует gunicorn в качестве точки входа, и это нормально, за исключением того, что у меня есть функция, которая занимает очень много времени для обработки (очистка веб-сайтов и данных истории в базе данных), и время ожидания Gunicorn по умолчанию составляет 30 секунд, затем новый рабочий начинает все заново, и так далее, и тому подобное.
Я могу установить таймаут пулеметчика примерно на 20 минут, но это не выглядит изящным. Есть ли способ запустить эти внутренние функции "вне" пулеметчика или, возможно, конфигурации пулеметчика, о которой я не думаю? Клиентской части нет, поэтому долгое время для завершения не является проблемой.
Мой файл app.yaml сейчас выглядит так:
runtime: python
env: flex
entrypoint: gunicorn -b :$PORT main:app
runtime_config:
python_version: 2
# This sample incurs costs to run on the App Engine flexible environment.
# The settings below are to reduce costs during testing and are not appropriate
# for production use. For more information, see:
# https://cloud.google.com/appengine/docs/flexible/python/configuring-your app-with-app-yaml
manual_scaling:
instances: 1
resources:
cpu: 1
memory_gb: 3
disk_size_gb: 10