• flask上线部署————“WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.”


    因为钉钉推送消息中要可以实时查看测试报告,但是钉钉只能添加报告的url,所以考虑使用flask框架搭建一个report的访问接口,返回报告详情。

    1.接口代码

    # 访问测试报告
    from flask import Flask
    
    app = Flask(__name__)
    @app.route('/report_ikang', methods=['get'])
    def index():
        page = open(file_ikang, encoding='utf-8')
        res = page.read()
        return res
    
    @app.route('/report_tjb', methods=['get'])
    def index_1():
        page = open(file_tjb, encoding='utf-8')
        res = page.read()
        return res
    
    
    app.run(host='0.0.0.0', port=12345)

    测试报告是使用HTMLhttprunner生成的静态网页,确定好路由,可以分别访问不同的文件。

    其中file_ikang、file_tjb都是指定目录下的最新生成的文件。(点击获取指定目录下的最新生成的文件)

    但是使用以上代码部署之后,提示如下:

     

    * Serving Flask app "report_server" (lazy loading)
    * Environment: production
    WARNING: This is a development server. Do not use it in a production deployment.
    Use a production WSGI server instead.

    “这个模式用于开发环境调试,部署线上需要使用WSGI替代” ......

    2.查了下资料,这个提示的原因是flask需要使用WSGI启动服务,那就是用WSGI呗

    # 访问测试报告
    from flask import Flask
    from gevent import pywsgi
    
    app = Flask(__name__)
    @app.route('/report', methods=['get'])
    def index():
        page = open(file_ikang, encoding='utf-8')
        res = page.read()
        return res
    
    @app.route('/report_tjb', methods=['get'])
    def index_1():
        page = open(file_tjb, encoding='utf-8')
        res = page.read()
        return res
    
    server = pywsgi.WSGIServer(('0.0.0.0', 12345), app)
    server.serve_forever()

    OK,问题解决。

  • 相关阅读:
    C语言中结构体变量之间赋值
    ZOJ
    【微服务干货系列】使用微服务架构之前,你必须知道的
    使用heartbeat+monit实现主备双热备份系统
    rsync 3.1.1源代码编译安装配置
    oracle 11g GRID 中 关于 OLR 须要知道的一些内容
    字母游戏
    移动开发人员应避免的 4 大陷阱
    看看这个经常被0基础程序猿弄不懂的 “事件”
    【剑指offer】和为定值的连续正数序列
  • 原文地址:https://www.cnblogs.com/mlp1234/p/13743254.html
Copyright © 2020-2023  润新知