为了账号安全,请及时绑定邮箱和手机立即绑定

如何将flask-socketio应用程序部署到Google Cloud Platform

如何将flask-socketio应用程序部署到Google Cloud Platform

慕尼黑5688855 2023-09-12 17:43:15
我编写了一个 Flask-socketio 应用程序,通过 websockets 向网站提供数据。我的目录结构是这样的:main.py网站索引.htmlmain.js样式.css我的app.yaml是这样的:runtime: python38handlers:  - url: /    static_files: website/index.html    upload: website/index.html  - url: /    static_dir: websiteentrypoint: python main.py我在目录中运行 gcloud app deploy 并设法将网站部署到 GCP。现在可以在https://codevis.ew.r.appspot.com/下找到但是,flask-socketio 应用程序未运行,我无法通过网站连接到它。我的 main.py 像这样部署 Flask-socketio 应用程序:app = Flask(__name__)socketio = SocketIO(app, cors_allowed_origins="*")[...]def run_app():    socketio.run(app, debug=True)if __name__ == "__main__":    run_app()在我的 main.js 中,我尝试像这样连接到 Flask-socketio:var socket = io.connect("https://codevis.ew.r.appspot.com:5000");在本地测试 Flask-socketio 时(使用 var socket = io.connect("http://127.0.0.1:5000");),一切正常。我只是无法让 GCP App Engine 实际运行 Flask-socketio 应用程序。我究竟做错了什么?
查看完整描述

2 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

App Engine 标准不支持 Websocket。您可以在App EngineFlexible上执行此操作,但无法扩展到 0(这意味着额外的成本)

对于 0 规模的平台,您可以考虑 Cloud Run,它将很快能够接受定向 Websocket。


查看完整回答
反对 回复 2023-09-12
?
慕丝7291255

TA贡献1859条经验 获得超6个赞

我遇到了一个用于实现此功能的功能请求。

您可以给它加注星标,以便它获得可见性,并将您的电子邮件包含在“抄送”部分中,以便接收有关此问题的进一步更新。但是,请记住,由于它是功能请求,目前尚无可用于实施的预计时间。


查看完整回答
反对 回复 2023-09-12
  • 2 回答
  • 0 关注
  • 97 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信