java - 为什么 app.yaml 中的“线程安全:是”在 Google App Engine 的柔性环境中不起作用?
问题描述
在标准环境中,我们可以在 app.yaml 中设置“threadsafe:yes”来为 python 中的 flask 框架启用多线程。因为谷歌会为我们做任何事。
对于灵活的环境,我们需要设置 gunicorn 以启用 async-worker 以使应用程序一次可以处理多个请求。
但我想知道为什么参数“threadsafe:yes”在灵活的环境中不起作用,而谷歌在部署应用引擎时没有给我们任何错误消息。
app.yaml
runtime: python
env: flex
api_version: 1
threadsafe: yes --> Is this working ?
service: myapp
entrypoint: gunicorn -b :$PORT main:app
解决方案
据我所知,您似乎可以灵活地设置“线程安全:是”,但它没有真正的效果,因为在 GAE 标准中您将使用com.google.appengine.api.ThreadManager并且正如您所说的谷歌将为我们做任何事情,但在 GAE Flexible 中,您必须使用通常的 Java 类 Thread 或您想使用的任何东西来管理自己的线程。
因此,部署时没有错误消息,但也不会影响您的代码,因为从一开始线程的安全性就是您关心的问题。
推荐阅读
- asp.net - Ocelot 文档 - 身份验证
- javascript - 如何在本机脚本中导航另一个页面?
- intellij-idea - Clojure. Intellij. Delay. Concurrent. Clojure from the Ground Up
- reactjs - Fetch data using an id from an api but display an alternative text to address bar e.g. content_title in Next.js
- html - DOMPDF: List items overflow with 50% width
- java - 实现视频进度条
- python - Converting multipage PDF to TIFF does not work with Python library Wand
- python-3.x - 为什么我的函数重定向而不在 Flask 中传递数据
- reactjs - 未找到模块:“draft-js-export-html”
- jberet - Jberet - 可重试的异常类工作?