托管flask webapp和CRON激活的Python脚本“在一起”

托管flask webapp和CRON激活的Python脚本“在一起”,python,unix,cron,flask,Python,Unix,Cron,Flask,我有一个Python程序,可以从web上轮询数据,将其保存到数据库中,并发送条件警报 我还有一个web应用程序,它将向网站显示一些数据。前面提到的Python轮询程序将要显示的数据保存到web应用程序打开的Pickle对象中 它们最终将托管在我的VPS上 我在本地机器上运行了web应用程序,但尚未将其发布到web上。轮询程序每分钟通过CRON运行一次 关于基于构建的web应用程序,我是否只需调用根文件夹中的run.py脚本并将其发送到后台,以便在关闭shell后它仍处于活动状态 如何确保web上

我有一个Python程序,可以从web上轮询数据,将其保存到数据库中,并发送条件警报

我还有一个web应用程序,它将向网站显示一些数据。前面提到的Python轮询程序将要显示的数据保存到web应用程序打开的Pickle对象中

它们最终将托管在我的VPS上

我在本地机器上运行了web应用程序,但尚未将其发布到web上。轮询程序每分钟通过CRON运行一次

关于基于构建的web应用程序,我是否只需调用根文件夹中的run.py脚本并将其发送到后台,以便在关闭shell后它仍处于活动状态

如何确保web上显示的数据始终是轮询程序保存的最新数据?它会自动在浏览器中重新加载自身吗?这些是否应该进一步隔离

文件结构如下所示

my_program_root_FOLDER
- run.py (for web_app)
- polling_program_code_FOLDER
-- file_run_via_CRON_for_polling
- web_app_FOLDER
-- static_FOLDER
--- Pickle_object (with data for web app)

您在cron中运行的程序,如果您一直想要更新结果,也可以在linux屏幕上运行它。在本地计算机中,您正在Flask附带的开发服务器中运行web应用程序。您不能在vps中使用它。我推荐uwsgi+nginx

关于基于Miguel Grinbergs教程构建的web应用程序,我是否只需调用根文件夹中的run.py脚本并将其发送到后台,以便在关闭shell后它仍处于活动状态

不,您必须使用类似screen的工具,但最好的方法是将应用程序作为服务运行,使用某种服务管理器确保应用程序在崩溃时自动重新启动。除其他外,你可以为你的工作做这件事。其他可能性是或。如果你的应用暴露在开放的互联网上,别忘了禁用Flask的调试模式

如何确保web上显示的数据始终是轮询程序保存的最新数据?它会自动在浏览器中重新加载自身吗?这些是否应该进一步隔离


如果您没有在应用程序中实现某种形式的缓存,则会为每个请求呈现模板,因此它应该始终拾取当前数据。另一方面,如果您希望浏览器中的页面在新数据到达时自动更新,而无需用户交互,则可以使用Javascript和长轮询来实现。这里很难给出具体的建议,因为不清楚您到底想做什么。

看起来您想做一些奇怪的事情。。。你不能使用事件驱动系统吗?克朗是干什么的?为什么要多次调用run.py?它仅用于运行应用程序。为什么您的flask应用程序无法从数据库读取数据?难道你不能将带有POST请求的pickled对象发送到你的flask应用程序吗?我让应用程序运行uwsgi和nginx。你说的uWSGI服务主管是皇帝吗?我听从了你的建议,实施了uWSGI和nginxgreat。也许现在你可以