我正在开发一个Python应用程序,我希望在其上看到实时统计信息.我想用Flask
它来使它易于使用和理解.
问题是我的Flask服务器应该从我的Python应用程序的最开始开始,并在最后停止.它应该如下所示:
def main():
""" My main application """
from watcher.flask import app
# watcher.flask define an app as in the Quickstart flask documentation.
# See: http://flask.pocoo.org/docs/0.10/quickstart/#quickstart
app.run() # Starting the flask application
do_my_stuff()
app.stop() # Undefined, for the idea
Run Code Online (Sandbox Code Playgroud)
因为我需要我的应用程序上下文(用于统计),我不能使用multiprocessing.Process
.然后我试图使用a threading.Thread
,但看起来Werkzeug不喜欢它:
* Running on http://0.0.0.0:10079/
Exception in thread Flask Server:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 763, in run
self.__target(*self.__args, **self.__kwargs)
File ".../develop-eggs/watcher.flask/src/watcher/flask/__init__.py", line 14, …
Run Code Online (Sandbox Code Playgroud) 我创建了一个简单的应用程序,而不是一个基本的“HelloWorld”应用程序,只是为了测试 Web 应用程序并将其转换为 Android 应用程序。这是以下代码:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello World'
if __name__=='__main__':
app.run()
Run Code Online (Sandbox Code Playgroud)