在标准环境中,我们可以在app.yaml中设置“threadsafe:yes”,为python中的flask框架启用多线程。因为谷歌会为我们做任何事情。
对于灵活的env,我们需要设置gunicorn以使异步工作者能够使应用程序一次处理多个请求。
但我想知道为什么参数“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
答案 0 :(得分:1)
我已经看到,看起来您可以灵活地设置“threadsafe:yes”但它没有实际效果,因为在GAE Standard中你会使用com.google.appengine.api.ThreadManager并且如你所说 Google会为我们做任何事情,但在GAE Flexible中,您必须使用usual Java's class Thread or whatever you want to use管理自己的主题。
因此,部署时没有错误消息,但对代码没有任何影响,因为从一开始就是您的线程的安全性。