如何将 Flask 套接字应用程序部署到 google 云

How to deploy flask socket application to google cloud

我的web_app.py有以下内容(只包括最相关的信息):

app = Flask(__name__)
socketio = SocketIO(app, ping_timeout=1200)
if __name__ == "__main__":
    port = int(os.environ.get('PORT', 5000))
    socketio.run(app)

我的 app.yaml 是:

runtime: python
env: flex
entrypoint: gunicorn -b :$PORT web_app:socketio

runtime_config:
  python_version: 3.6

manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10
skip_files:
- output/
- data/
- .idea/
- env/

当我 运行 gcloud app deploy 我得到以下错误:

Application object must be callable.

请帮忙。

在您的 app.yaml 文件中,当 运行 gunicorn 时,您必须指明您的网络应用程序的烧瓶 class 的名称。 Here,在部署下,您可以找到一些不同的选项来部署 Flask-SocketIO 服务器。 您应该将 entrypoint: gunicorn -b :$PORT web_app:socketio 替换为 entrypoint: gunicorn -b :$PORT web_app:app