Почему "threadsafe: yes" в app.yaml не работает в гибкой среде Google App Engine?

В стандартном env мы можем установить "threadsafe: yes" в app.yaml, чтобы включить многопоточность для фляговой среды в python. Потому что Google сделает все для нас.

Для гибкого env нам нужно настроить gunicorn, чтобы async-worker заставлял приложение обрабатывать более одного запроса одновременно.

Но мне интересно, почему параметр "threadsafe: yes" не работает в гибком окружении, и Google не выдает нам никаких сообщений об ошибках при развертывании ядра приложения.

app.yaml

runtime: python
env: flex
api_version: 1
threadsafe: yes  --> Is this working ?
service: myapp
entrypoint: gunicorn -b :$PORT main:app

1 ответ

Как я уже давно видел, похоже, что вы могли установить гибкий режим потоков: да, но это не имело реального эффекта, потому что в стандарте GAE вы бы использовали com.google.appengine.api.ThreadManager, и, как вы сказали, Google будет делайте что-нибудь для нас, но в GAE Flexible вам приходится управлять своими собственными потоками с помощью обычного Java-класса Thread или чего-либо, что вы хотите использовать.

Таким образом, при развертывании нет сообщений об ошибках, но это также не влияет на ваш код, так как с самого начала безопасность ваших потоков - ваша забота.

Другие вопросы по тегам