关于 运行 flask 应用程序的建议永远仅限于本地

Advice on running flask app ONLY locally forever

我想创建在单台计算机上永久保留的 Web 表单。用户可以到电脑前填写表格并提交。提交后,它会将回复记录在 excel 文件中并发送电子邮件。然后下一个用户可以自动填写新表格。我计划使用 Flask 来完成这项任务,因为它创建起来很简单,但由于我不是在某些生产服务器上执行此操作,所以我将 运行 在单台计算机上进行本地开发。

我从来没有见过有人用 Flask 做过这样的事情所以我想知道我的想法是否可行或者我是否应该避免它。我也是 web 开发的新手,所以我想知道在本地开发计算机上保持 flask 应用程序保持 24/7 可能会出现什么问题。

谢谢

你的想法是可行的,虽然有很多方法可以做这种事情,但你的建议不一定要避免。

运行 在计算机上长时间运行的所有应用都会启动一个进程并一直运行直到关闭。这基本上就是你在做什么。

在我的企业中我自己完成了这个(并且目前仍在这样做),我可以说它效果很好。

唯一需要注意的是,要确保它始终可用,您需要通过某种工具监控该进程,以确保它在由于各种原因关闭时能够重新启动。

在 linux 中,supervisor 是一个很好的工具。在 windows 中,您可以将其注册为服务。但您也可以创建一种简单的重启方式,让用户在需要重启时可以轻松重启。

原则上这样做没有错,但是,这可能不是回报时间的最佳解决方案。

首先,回答您的问题,这很容易完成,即使对于初学者来说,只需很少的 Python 和 HTML 经验就可以在几个小时内完成。您的应用程序可能由于多种原因(运行 出 space、内存地址错误等)在后台崩溃,但很可能您会没事的。

至于具体构建它,一切皆有可能,您可以使用一些库将结果添加到 excel 文件中,或者您可以轻松地附加到 CSV 文件中(这就是我想要的推荐)。创建和发送电子邮件同样相对简单,但同样,如果没有 python 会更容易。

如果您不适合 flask/python,您可以查看 Google 表格,但如果您适合 python,或者想将其用作学习经验,它绝对可以做到。

是的,这是可以做到的。它与数据中心服务器上 运行 的应用程序非常相似。

要使应用程序 运行 永久保持或在系统启动后重新启动它,您需要使用类似于 Unix 中的 systemd 的系统管理器。您可以使用 NSSM - the Non-Sucking Service Manager or Service Control 来监视您的应用程序并在它崩溃时重新启动它。这也必须在启动时启用。

除此之外,您可以使用 Waitres 来为您的 Flask 应用程序提供服务。 Waitress 是一个 WSGI 网络服务器,您可以使用它轻松配置线程和工作线程的数量,以同时为多个用户提供服务。

在生产环境中,始终建议使用 Gunicorn 或 Waitress 等 Web 服务器界面。