【问题标题】:Deploying and running a Python Flask/Socketio webapp [closed]部署和运行 Python Flask/Socketio webapp [关闭]
【发布时间】:2019-03-24 03:38:51
【问题描述】:

我最近发现了this example 关于 Flask 和 SocketIO,其中一些数字是使用 Python 脚本生成的,通过 Websocket 发送到前端,并在网页上实时动态打印。

我想基于 Flask/SocketIO 和这个例子构建一个 Webapp,但由于我对 Python 还很陌生,所以我有以下疑问:

假设我将那个简单的应用程序部署在 24/7 全天候运行的某个地方,例如在 Heroku 上。应用程序是否会在有人在浏览器上打开它并显示不同的数字时才开始工作并打印数字,还是会一直运行,向每个打开它的人显示相同的内容?

【问题讨论】:

    标签: python flask socket.io frontend


    【解决方案1】:

    自从我创建了小型在线拍卖应用程序以来,我就有了使用这个库的经验。阅读application.py,每次有人连接时,例如打开他的浏览器,它会呈现index.html,如果它是第一个连接,则启动线程。如果之前有用户,它不会启动,因为它已经在运行,它会向所有连接的用户发出随机数。

    第一次连接 -> permalink to code

    用于每秒发出随机数(延迟为 1)-> permalink to code

    我认为如果你将这样的应用程序部署到heroku,它只会在有人打开他的浏览器时开始发出数字,之前它不会发出。

    【讨论】:

    • 谢谢!有没有办法让它 24/7 运行?
    • 您可以在一些托管服务上运行它(pythonanywhere.com 为 python 应用程序提供免费托管,您只需要配置它)。它会一直在那里,24/7 全天候可供所有人使用,但是当有人连接时,它会开始生成随机数。顺便说一句,配置flask-socketio有点难,请务必阅读有关如何播放这些应用程序的文档...
    • 问题是我有一个 Python 脚本,它接收数据并计算这些数据。假设我在服务器上运行这个脚本,在它开始运行 6 小时后,它计数到 200 万个,并将这 200 万个数据发送到前端。如果一个随机的人打开我的前端,为什么他看不到“2M”,而是又从 0 开始?
    • RandomThread 每秒生成 0 到 10 范围内的随机数,并将它们四舍五入到小数点后 3 位。对于任何连接的人,它都会看到随机数。另一方面,您可以将一些值存储在变量中,只要服务器(主机)正在运行,您的数据就会被保存,它们不会重新启动或删除,直到您停止服务器。您可以计算连接数或其他东西...如果您停止服务器,它将重置为默认值。如果要永久存储数据,可以将其保存在文件或数据库中。
    • 好的,知道了,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-24
    • 2019-03-16
    • 1970-01-01
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多