Почему "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 или чего-либо, что вы хотите использовать.
Таким образом, при развертывании нет сообщений об ошибках, но это также не влияет на ваш код, так как с самого начала безопасность ваших потоков - ваша забота.