【发布时间】:2018-11-21 02:22:30
【问题描述】:
我已经为我的 python 应用程序编写了一个 Web 界面。当运行export FLASK_APP=main.py 后跟flask run 时,此功能非常有效。现在我希望实际的应用程序也能运行,这样界面就会很有用。
下面的代码是我的main.py,我在这里调用flask应用工厂函数。
from webinterface import create_app
if __name__ == '__main__':
create_app()
while(True):
# Some code logging different things
我想在无限循环中做一些事情,但是当我尝试运行应用程序时,它要么只运行 Web 界面,要么运行无限循环,这取决于我是使用 flask run 还是 python main.py 启动它。
我怎样才能最好地做到这一点?
【问题讨论】:
-
为什么你需要这个
while循环呢?如果是关于日志记录,你有一堆使用logging模块的解决方案 -
@PRMoureu 用于从外部组件进行日志记录。温度传感器等并将其记录到数据库中,它需要永久运行。
-
WSGI 应用程序不是为并行运行其他任务而设计的。它可能适用于开发服务器,但在生产设置中您会遇到麻烦。
-
@KlausD。那么您是否建议必须单独运行 python 脚本才能完成任务?一个处理 Web 界面,一个处理所有的日志记录和测量任务?
-
是的,听起来好多了。