我想通过使用烧瓶脚本来实现一个可以停止烧瓶应用程序的命令。我已经搜索了一段时间的解决方案。因为该框架不提供 app.stop()
API,所以我很好奇如何编写代码。我正在使用 Ubuntu 12.10 和 Python 2.7.3。
原文由 vic 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想通过使用烧瓶脚本来实现一个可以停止烧瓶应用程序的命令。我已经搜索了一段时间的解决方案。因为该框架不提供 app.stop()
API,所以我很好奇如何编写代码。我正在使用 Ubuntu 12.10 和 Python 2.7.3。
原文由 vic 发布,翻译遵循 CC BY-SA 4.0 许可协议
我使用线程做的略有不同
from werkzeug.serving import make_server
class ServerThread(threading.Thread):
def __init__(self, app):
threading.Thread.__init__(self)
self.server = make_server('127.0.0.1', 5000, app)
self.ctx = app.app_context()
self.ctx.push()
def run(self):
log.info('starting server')
self.server.serve_forever()
def shutdown(self):
self.server.shutdown()
def start_server():
global server
app = flask.Flask('myapp')
# App routes defined here
server = ServerThread(app)
server.start()
log.info('server started')
def stop_server():
global server
server.shutdown()
我用它来对 restful api 进行端到端测试,我可以在其中使用 python 请求库发送请求。
原文由 Ruben Decrop 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
4 回答1.5k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答915 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
如果您只是在桌面上运行服务器,您可以公开一个端点来终止服务器(在 关闭简单服务器 中阅读更多内容):
这是另一种包含更多的方法:
让我知道这是否有帮助。